Sockets
Sockets first appeared in BSD UNIX (designed by Bill Joy—also one of the originators of Java) circa 1982.
They provided a cross-protocol API for networking. The original implementation, for example, provided access to protocols including:
- TCP/IP
- Xerox NS
- Local UNIX inter-process communication.
Today available in Windows, through the WinSock API.
Sockets directly support a client/server architecture.
They support connection-oriented protocols like TCP, as well as connectionless protocols like UDP.
We will only discuss the connection-oriented case.