Sockets Background

Sockets provide a sufficiently general interface to allow network-based applications to be constructed independently of the underlying communication facilities. They also support the construction of distributed programs built on top of communication primitives.

Sockets were developed in response to the need for sophisticated interprocess facilities to meet the following goals:
  • Provide access to communications networks such as the Internet.
  • Enable communication between unrelated processes residing locally on a single host computer and residing remotely on multiple host machines.
Note: The socket subroutines serve as the application program interface for Transmission Control Protocol/Internet Protocol (TCP/IP).