On the server side of the whiteboard application, we have a class
called Server. This class listens for incoming
connections on a specified port. Each time
a connection comes in, the Server creates a
ConnectionProcessor to process the connection.
Processing a connection means receiving text messages and sending them
back out to other clients. The Server gives each client one
ConnectionProcessor.
When a client first starts up, it initiates a connection to the server.
The client keeps this connection open throughout the whiteboard session. Each
text message is sent along this connection.
The figure below illustrates the client/server processes for the
whiteboard application.
