A socket is one end-point of a two-way communication link between two programs running on the network.