A socket is an end-to-end connection between a client and a server identifying:
A socket is a network communications end point. The analogy is to a wire (the network data connection) being pluged into a socket.
Sockets come in two primary flavors: active and passive. An active socket is connected to a remote active socket via an open data connection. Closing the connection destroys the active sockets at each end point. A passive socket is not connected, but rather awaits an incoming connection, which will spawn a new active socket.
A socket is not a port, though there is a close relationship between them. A socket is associated with a port, though this is a many-to-one relationship. Each port can have a single passive socket, awaiting incoming connections, and multiple active sockets, each corresponding to an open connection on the port.