*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> tcp (7)              


TCP(7P)								       TCP(7P)

NAME    [Toc]    [Back]

     tcp - Internet Transmission Control Protocol

SYNOPSIS    [Toc]    [Back]

     #include <sys/socket.h>
     #include <netinet/in.h>

     s = socket(AF_INET, SOCK_STREAM, 0);

DESCRIPTION    [Toc]    [Back]

     The TCP protocol provides reliable, flow-controlled, two-way transmission
     of	data.  It is a byte-stream protocol used to support the	SOCK_STREAM
     abstraction.  TCP uses the	standard Internet address format and, in
     addition, provides	a per-host collection of "port addresses".  Thus, each
     address is	composed of an Internet	address	specifying the host and
     network, with a specific TCP port on the host identifying the peer

     Sockets utilizing the tcp protocol	are either "active" or "passive".
     Active sockets initiate connections to passive sockets.  By default TCP
     sockets are created active; to create a passive socket the	listen(2)
     system call must be used after binding the	socket with the	bind(2)	system
     call.  Only passive sockets may use the accept(2) call to accept incoming
     connections.  Only	active sockets may use the connect(2) call to initiate

     Passive sockets may "underspecify"	their location to match	incoming
     connection	requests from multiple networks.  This technique, termed
     "wildcard addressing", allows a single server to provide service to
     clients on	multiple networks.  To create a	socket which listens on	all
     networks, the Internet address INADDR_ANY must be bound.  The TCP port
     may still be specified at this time; if the port is left unspecified by
     setting it	to 0, the system will assign one.  Once	a connection has been
     established the socket's address is fixed by the peer entity's location.
     The address assigned the socket is	the address associated with the
     network interface through which packets are being transmitted and
     received.	Normally this address corresponds to the peer entity's

     TCP supports two socket options which can be tested with getsockopt(2),
     and manipulated with setsockopt(2).  These	options	are defined in

	  Under	most circumstances, TCP	sends data when	it is presented; when
	  outstanding data has not yet been acknowledged, it gathers small
	  amounts of output to be sent in a single packet once an
	  acknowledgement is received.	For a small number of clients, such as
	  window systems that send a stream of mouse events which receive no
	  replies, this	packetization may cause	significant delays.
	  Therefore, TCP provides a boolean option, TCP_NODELAY, to defeat
	  this algorithm.

									Page 1

TCP(7P)								       TCP(7P)

	  For certain applications, TCP's default behavior of delaying
	  acknowledgements may produce poor performance.  Therefore, it	is
	  possible to turn delayed acknowledgements off	using the TCP_FASTACK
	  option.  Use of this option is not generally recommended, as it will
	  cause	more traffic than is normally desirable.

     N.B. Starting with	IRIX 6.5, both TCP_NODELAY and TCP_FASTACK are
     inherited across an accept(2) system call.	 In previous IRIX releases
     this was not the case.

     Options at	the IP transport level may be used with	TCP; see ip(7P).
     Incoming connection requests that are source-routed are noted, and	the
     reverse source route is used in responding. The source route may be
     disabled by specifying a zero-length buffer with the IP_OPTIONS option to
     setsockopt	(see ip(7P)).

DIAGNOSTICS    [Toc]    [Back]

     A socket operation	may fail with one of the following errors returned:

     [EISCONN]		 when trying to	establish a connection on a socket
			 which already has one;

     [ENOBUFS]		 when the system runs out of memory for	an internal
			 data structure;

     [ETIMEDOUT]	 when a	connection was dropped due to excessive

     [ECONNRESET]	 when the remote peer forces the connection to be

     [ECONNREFUSED]	 when the remote peer actively refuses connection
			 establishment (usually	because	no process is
			 listening to the port);

     [EADDRINUSE]	 when an attempt is made to create a socket with a
			 port which has	already	been allocated;

     [EADDRNOTAVAIL]	 when an attempt is made to create a socket with a
			 network address for which no network interface

SEE ALSO    [Toc]    [Back]

     getsockopt(2), socket(2), intro(3), inet(7F), ip(7P)
     IRIX Network Programming Guide

									PPPPaaaaggggeeee 2222
[ Back ]
 Similar pages
Name OS Title
tcp Tru64 Internet Transmission Control Protocol (TCP)
ttcp FreeBSD Transmission Control Protocol Extensions for Transactions
icmp IRIX Internet Control Message Protocol
icmp OpenBSD Internet Control Message Protocol
icmp Tru64 Internet Control Message Protocol
icmp FreeBSD Internet Control Message Protocol
icmp6 FreeBSD Internet Control Message Protocol for IPv6
icmp6 OpenBSD Internet Control Message Protocol for IPv6
ip OpenBSD Internet Protocol
ip FreeBSD Internet Protocol
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service