Open-socket creates a new socket.
If no port-number is supplied the system picks one at random.
Socket-port-number returns a socket's port number.
Close-socket closes a socket, preventing any further connections.
Socket-accept accepts a single connection on socket, returning
an input port and an output port for communicating with the client.
If no client is waiting socket-accept blocks until one appears.
Get-host-name returns the network name of the machine.

(socket-client host-name port-number) -> input-port output-port

Socket-client connects to the server at port-number on
the machine named host-name.
Socket-client blocks until the server accepts the connection.

The following simple example shows a server and client for a centralized UID
service.