Programming with sockets


A basic building block for communication is the socket. A socket is an endpoint of communication to which a name may be bound. Each socket in use has a type and one or more associated processes. Sockets exist within communications domains. Domains are abstractions that imply both an addressing structure (address family) and a set of protocols which implement socket types within the domain (protocol family). Communications domains are introduced to bundle common properties of processes communicating through sockets. One such property is the scheme used to name sockets. In the UNIX domain, sockets are named with UNIX pathnames; for example, a socket may be named /dev/foo. Sockets normally exchange data only with sockets in the same domain (it may be possible to cross between communications domains, but only if some translation process is performed). The UNIX system socket interface facilities support several separate communications domains: for example, the UNIX domain, for on-system communication; and the Internet domain, which is used by processes that communicate using the DARPA standard communication protocols. The underlying communication facilities provided by these domains have a significant influence on the internal system implementation as well as the interface to socket facilities available to a user. For example, a socket operating in the UNIX domain sees a subset of the error conditions that are possible when operating in the Internet domain.

© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 -- 02 June 2005