Server Sockets
A server socket binds to a particular port on the local machine.
Once it has successfully bound to a port, it listens for incoming connection attempts.
When a server detects a connection attempt, it accepts the connection. This creates a socket between the client and the server over which the client and the server communicate.