class TCPSocket
inherits IPSocket
¶
A Transmission Control Protocol (TCP/IP) socket.
Usage example:
require "socket"
client = TCPSocket.new("localhost", 1234)
client << "message\n"
response = client.gets
client.close
Direct known subclasses
TCPServer
Class methods¶
.open
¶
Opens a TCP socket to a remote TCP server, yields it to the block, then eventually closes the socket when the block returns.
Returns the value of the block.
.new(host, port, dns_timeout = nil, connect_timeout = nil)
¶
(host, port, dns_timeout = nil, connect_timeout = nil)
Creates a new TCP connection to a remote TCP server.
You may limit the DNS resolution time with dns_timeout
and limit the
connection time to the remote server with connect_timeout
. Both values
must be in seconds (integers or floats).
Note that dns_timeout
is currently ignored.
.new(family : Family = Family::INET)
¶
(family : Family = Family::INET)
Creates a new TCPSocket
, waiting to be connected.
.new(*, fd : Int32, family : Family = Family::INET)
¶
(*, fd : Int32, family : Family = Family::INET)
Creates a TCPSocket from an already configured raw file descriptor
Methods¶
#tcp_keepalive_count
¶
The number of probes sent, without response before dropping the connection.
#tcp_keepalive_idle
¶
The amount of time in seconds the connection must be idle before sending keepalive probes.
#tcp_nodelay=(val : Bool)
¶
(val : Bool)
Disables the Nagle algorithm when set to true
, otherwise enables it.