# File resolv-replace.rb, line 33 def bind(host, port) host = IPSocket.getaddress(host) if host != "" original_resolv_bind(host, port) end
# File resolv-replace.rb, line 41 def connect(host, port) original_resolv_connect(IPSocket.getaddress(host), port) end
# File resolv-replace.rb, line 48 def send(mesg, flags, *rest) if rest.length == 2 host, port = rest begin addrs = Resolv.getaddresses(host) rescue Resolv::ResolvError raise SocketError, "Hostname not known: #{host}" end addrs[0...-1].each {|addr| begin return original_resolv_send(mesg, flags, addr, port) rescue SystemCallError end } original_resolv_send(mesg, flags, addrs[-1], port) else original_resolv_send(mesg, flags, *rest) end end