class DRb::DRbTCPSocket

def self.open_server_inaddr_any(host, port)

preferred over IPv6 servers.
If +port+ is 0 the first available port is used. IPv4 servers are
For the families available for +host+, returns a TCPServer on +port+.
def self.open_server_inaddr_any(host, port)
  infos = Socket::getaddrinfo(host, nil,
                              Socket::AF_UNSPEC,
                              Socket::SOCK_STREAM,
                              0,
                              Socket::AI_PASSIVE)
  families = Hash[*infos.collect { |af, *_| af }.uniq.zip([]).flatten]
  return TCPServer.open('0.0.0.0', port) if families.has_key?('AF_INET')
  return TCPServer.open('::', port) if families.has_key?('AF_INET6')
  return TCPServer.open(port)
  # :stopdoc:
end