Method: TCPSocket#initialize

Defined in:
lib/polyphony/extensions/socket.rb

#initialize(remote_host, remote_port, local_host = nil, local_port = nil) ⇒ TCPSocket

Initializes the socket.

Parameters:

  • remote host

  • remote port

  • (defaults to: nil)

    local host

  • (defaults to: nil)

    local port



240
241
242
243
244
245
246
247
248
249
250
251
252
# File 'lib/polyphony/extensions/socket.rb', line 240

def initialize(remote_host, remote_port, local_host = nil, local_port = nil)
  remote_addr = Addrinfo.tcp(remote_host, remote_port)
  @io = Socket.new remote_addr.afamily, Socket::SOCK_STREAM
  if local_host && local_port
    addr = Addrinfo.tcp(local_host, local_port)
    @io.bind(addr)
  end

  return unless remote_host && remote_port

  addr = Addrinfo.tcp(remote_host, remote_port)
  @io.connect(addr)
end