From: Hal Brodigan Date: 2010-10-16T20:42:10+09:00 Subject: [ruby-core:32824] [Ruby 1.9-Bug#3953][Open] TCPSocket / UDPSocket do not accept IPAddr objects. Bug #3953: TCPSocket / UDPSocket do not accept IPAddr objects. http://redmine.ruby-lang.org/issues/show/3953 Author: Hal Brodigan Status: Open, Priority: Normal ruby -v: ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux] 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 ---------------------------------------- http://redmine.ruby-lang.org