Both the client and the server create a socket, but only the
server binds the socket to a local endpoint. The server can then
subsequently do a blocking readcall in which it waits for incoming
data from any client. Likewise, after creating the socket, the
client simply does a blocking call to write data to the server.
There is no need to close a connection.