Chat Server Prototype
A simple chat server prototype that could send and receive messages via a TCP connection.
Project Details / Background
A lightweight client-server chat system built in C++ using the WinSock API. The project demonstrates networking fundamentals, multithreading, and secure user management through a modular design.
Server Component:
- Manages client connections, authentication, and active sessions.
- Uses unordered_map and mutex locks for thread-safe handling of user registries and active socket communication.
- Maintains detailed logs for user commands and public chat messages.
Client Component:
- Handles user registration, login flow, and state management through a structured ClientState enum.
- Uses socket-based communication with synchronization mechanisms to ensure safe concurrent operations.
Features:
- Basic authentication and credential storage.
- Real-time text message exchange between clients via the server.
- Logging system for both server commands and public messages.