A series of networking projects to implement:
- A basic TCP client.
- A chat client responsible for sending and receiving messages.
- A chat server which is responsible for managing the lifecycle of a client connection, handling incoming data from several connections, handling authentication, and successfully buffering output data.