HP-UX Reference (11i v2 04/09) - 7 Device (Special) Files, 9 General Information, Index (vol 10)
t
TCP(7P) TCP(7P)
longer than the second threshold, TCP terminates the connection. The
default value for this option is the current value of the ndd tunable
tcp_ip_abort_cinterval
. See ndd(1M) online help for details on
the tcp_ip_abort_cinterval default value.
If
TCP_NODELAY is set, the system sends small amounts of output immediately rather than gathering
them into a single packet after an acknowledgement is received. If
TCP_NODELAY is not set, the system
sends data when it is presented, if there is no outstanding unacknowledged data. If there is outstanding
unacknowledged data, the system gathers small amounts of data to be sent in a single packet once an
acknowledgement is received. For clients such as window managers that send a stream of mouse events
which receive no replies, this packetization may cause significant delays. The
TCP_NODELAY option can
be used to avoid this situation. Note, however, that setting the
TCP_NODELAY option may result in a
large number of small packets being sent over the network.
By default,
TCP_NODELAY is not set when a socket is created.
The option level to use for accessing the TCP option with the
setsockopt() or getsockopt() calls
is the protocol number for TCP which is available from
getprotobyname()
(see getprotoent (3N)).
If the
SO_KEEPALIVE socket option is enabled on an established TCP connection and the connection
has been idle for two hours, TCP sends a packet to the remote socket, expecting the remote TCP to ack-
nowledge that the connection is still active. If the remote TCP does not respond in a timely manner, TCP
continues to send keepalive packets according to its normal retransmission algorithm. If the remote TCP
does not respond within a particular time limit, TCP drops the connection. The next socket system call
(for example, recv()) returns an error, and errno is set to [ETIMEDOUT]. See getsockopt (2) for
details on enabling SO_KEEPALIVE.
The default send and receives buffer size is 32768 bytes (see WARNINGS below). The send and receive
buffer sizes for TCP stream sockets can be altered by using the
SO_SNDBUF and
SO_RCVBUF options of
the
setsockopt() system call or the XTI_SNDBUF and XTI_RCVBUF options of the
t_optmgmt() system call. Refer to getsockopt (2) or t_optmgmt (3) for details.
The maximum transmit buffer size for a TCP stream socket is 2147483647 bytes. The maximum receive
buffer size for a TCP stream socket is 1073725440 bytes. These maximum values can be lowered using
the ndd variables tcp_xmit_hiwater_max and tcp_recv_hiwater_max.
ERRORS
One of the following errors may be returned in
errno if a socket operation fails. For a more detailed
list of errors, see the man pages for specific system calls.
[EISCONN] The socket is already connected.
[ENOBUFS] No buffer space is available for an internal data structure.
[ETIMEDOUT] Connection dropped due to excessive retransmissions.
[ECONNRESET] The connection was forcibly closed by the peer socket.
[ECONNREFUSED] Remote peer actively refuses connection establishment (usually because
no process is listening to the port).
[EADDRINUSE] The specified address is already in use.
[EADDRNOTAVAIL] The specified address is not available on this machine.
WARNINGS
The default socket buffer size might increase without notice in a future release or patch. Therefore, if an
application calls
setsockopt() with SO_RCVBUF, it should do so before calling listen(),orit
should first call getsockopt() with SO_RCVBUF and ensure that the intended new receive buffer size
is not less than the current buffer size. These programming conventions are consistent with TCP protocol
restrictions against reducing the TCP receive window after a connection has been established.
IPv6 is supported on HP-UX 11i Version 1.0, with the optional IPv6 software installed. Currently, IPv6 is
not supported on systems running HP-UX 11i Version 1.6.
AUTHOR
The socket interfaces to TCP were developed by the University of California, Berkeley.
Section 7−−172 Hewlett-Packard Company − 2 − HP-UX 11i Version 2: September 2004