From: akr Date: 2012-03-18T18:18:03+09:00 Subject: [ruby-core:43425] [ruby-trunk - Feature #3953] TCPSocket / UDPSocket do not accept IPAddr objects. Issue #3953 has been updated by akr. Description updated If we implement this feature, we need a method for duck type, such as IPAddr#to_ipaddress to convert to IP-address string. ---------------------------------------- Feature #3953: TCPSocket / UDPSocket do not accept IPAddr objects. https://bugs.ruby-lang.org/issues/3953#change-24743 Author: postmodern Status: Open Priority: Normal Assignee: Category: Target version: =begin I noticed that TCPSocket/UDPSocket only accept String IPs/Hostnames, but not IPAddr objects. This is counter-intuitive since IP Addresses, along with Hostnames, are used to connect/bind to sockets. require 'socket' require 'resolv' ip = IPAddr.new(Resolv.getaddress('www.example.com')) sock = TCPSocket.new(ip,80) TypeError: can't convert IPAddr into String from (irb):5:in `initialize' from (irb):5:in `new' from (irb):5 =end -- http://bugs.ruby-lang.org/