The most common communication styles involve making a connection to a
particular other socket, and then exchanging data with that socket
over and over. Making a connection is asymmetric; one side (the
client) acts to request a connection, while the other side (the
server) makes a socket and waits for the connection request.