Background
This is a chat client program inspired by classical chat systems such as IRC. It allows users to communicate synchronously with a server in real-time over a TCP connection. The program supports two types of clients: receivers, who can read messages from the server, and senders, who can send messages to the server. The server partitions clients into rooms, enabling multiple groups of people to converse independently.