You can clone with
# Minor modification on line 8 of the echo server example to
# avoid IPv4/IPv6 discrepancies when resolving 'localhost' on
# some systems, such as Mac OS X 10.6.
acceptor = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)
# Passing 'localhost' below breaks when it resolves to an IPv6 address
address = Socket.pack_sockaddr_in(4242, Socket::INADDR_LOOPBACK)