Class: IPSocket
Constant Summary
Constants inherited
from BasicSocket
BasicSocket::FFI
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from BasicSocket
#close_read, #close_write, do_not_reverse_lookup, #do_not_reverse_lookup, do_not_reverse_lookup=, #do_not_reverse_lookup=, for_fd, from_descriptor, #from_descriptor, #getpeername, #getsockname, #getsockopt, #recv, #recv_nonblock, #send, #setsockopt, #shutdown
Class Method Details
.getaddress(host) ⇒ Object
1231
1232
1233
|
# File 'lib/rubysl/socket.rb', line 1231
def self.getaddress(host)
Socket::Foreign.getaddress host
end
|
Instance Method Details
#addr(reverse_lookup = nil) ⇒ Object
1235
1236
1237
1238
1239
1240
1241
1242
|
# File 'lib/rubysl/socket.rb', line 1235
def addr(reverse_lookup=nil)
sockaddr = Socket::Foreign.getsockname descriptor
reverse_lookup = !do_not_reverse_lookup if reverse_lookup.nil?
family, port, host, ip = Socket::Foreign.getnameinfo sockaddr, Socket::Constants::NI_NUMERICHOST | Socket::Constants::NI_NUMERICSERV, reverse_lookup
[family, port.to_i, host, ip]
end
|
#peeraddr(reverse_lookup = nil) ⇒ Object
1244
1245
1246
1247
1248
1249
1250
1251
|
# File 'lib/rubysl/socket.rb', line 1244
def peeraddr(reverse_lookup=nil)
sockaddr = Socket::Foreign.getpeername descriptor
reverse_lookup = !do_not_reverse_lookup if reverse_lookup.nil?
family, port, host, ip = Socket::Foreign.getnameinfo sockaddr, Socket::Constants::NI_NUMERICHOST | Socket::Constants::NI_NUMERICSERV, reverse_lookup
[family, port.to_i, host, ip]
end
|
#recvfrom(maxlen, flags = 0) ⇒ Object
1253
1254
1255
1256
1257
|
# File 'lib/rubysl/socket.rb', line 1253
def recvfrom(maxlen, flags = 0)
flags = 0 if flags.nil?
socket_recv maxlen, flags, 1
end
|
#recvfrom_nonblock(maxlen, flags = 0) ⇒ Object
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
|
# File 'lib/rubysl/socket.rb', line 1259
def recvfrom_nonblock(maxlen, flags = 0)
fcntl(Fcntl::F_SETFL, Fcntl::O_NONBLOCK)
flags = 0 if flags.nil?
flags |= Socket::MSG_DONTWAIT
IO.select([self])
return recvfrom(maxlen, flags)
end
|