Interprocess communication within a computer or between computers is based on
protocols. One concept for interprocess communication is the socket. It is the
endpoint of a communication path.
The socket API is a low-level, general, and flexible application programming interface, very popular especially within the TCP/IP transport protocol. It allows to write
communicating applications that receive data from a network and send data to a
network.
The socket API is based on an open/close/read/write paradigm. Thus network
communication is handled similar to reading from and writing to any other device.
All implementations of the socket programming interface are based on the original
Berkeley Software Distribution (BSD) socket implementation with its roots in the
UNIX environment.