def open_socket(host, port) # :nodoc:
      return Timeout.timeout(@open_timeout, Net::OpenTimeout) {
        if defined? SOCKSSocket and ENV["SOCKS_SERVER"]
          @passive = true
          sock = SOCKSSocket.open(host, port)
        else
          sock = TCPSocket.open(host, port)
        end
        io = BufferedSocket.new(sock)
        io.read_timeout = @read_timeout
        io
      }
    end
Contructs a socket with +host+ and +port+.

If SOCKSSocket is defined and the environment (ENV) defines
SOCKS_SERVER, then a SOCKSSocket is returned, else a TCPSocket is
returned.