Class: IPSocket
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from BasicSocket
#close_read, #close_write, #connect_address, do_not_reverse_lookup, #do_not_reverse_lookup, do_not_reverse_lookup=, #do_not_reverse_lookup=, for_fd, #getpeereid, #getpeername, #getsockname, #getsockopt, #local_address, #recv, #recv_nonblock, #recvmsg, #recvmsg_nonblock, #remote_address, #send, #sendmsg, #sendmsg_nonblock, #setsockopt, #shutdown
Class Method Details
.getaddress(host) ⇒ Object
Instance Method Details
#addr(reverse_lookup = nil) ⇒ Object
8
9
10
|
# File 'lib/socket/ip_socket.rb', line 8
def addr(reverse_lookup = nil)
RubySL::Socket.address_info(:getsockname, self, reverse_lookup)
end
|
#peeraddr(reverse_lookup = nil) ⇒ Object
12
13
14
|
# File 'lib/socket/ip_socket.rb', line 12
def peeraddr(reverse_lookup=nil)
RubySL::Socket.address_info(:getpeername, self, reverse_lookup)
end
|
#recvfrom(maxlen, flags = 0) ⇒ Object
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/socket/ip_socket.rb', line 16
def recvfrom(maxlen, flags = 0)
flags = 0 if flags.nil?
message, addr = recvmsg(maxlen, flags)
aname = RubySL::Socket.address_family_name(addr.afamily)
hostname = addr.ip_address
unless do_not_reverse_lookup
addrinfos = Socket.getaddrinfo(addr.ip_address, nil, addr.afamily,
addr.socktype, addr.protocol, 0, true)
unless addrinfos.empty?
hostname = addrinfos[0][2]
end
end
return message, [aname, addr.ip_port, hostname, addr.ip_address]
end
|