A simple multi-client chat server written in Rust using std::net.
Each user connects via TCP, chooses a username, and can send messages to all participants or certain users in real time.
- Multiple clients can connect simultaneously
- Username prompt on connect
- Broadcast messages to all connected users
- Store chat history in memory (
Vec<String>) - Direct messaging with
@username - Add message formatting (timestamps, system messages)
- Save chat history to a database and load
- Add rooms/channels so users can join different chats
- (Planned) WebSocket support for browser-based UI
- Rust (latest stable). Install via rustup.
git clone https://github.com/u-mar/TCP-Chat-Server.git
cd TCP-Chat-Server- Rust (standard library networking + threading)
- Arc + Mutex for safe shared state
- Telnet (for simple client testing)
- Build a WebSocket version for a browser-based UI
- Implement user authentication (login/register)
- Add rooms/channels so users can join different chats
- Support file sharing (images, docs, etc.)
- Add encryption (TLS) for secure communication
- Implement a moderation system (kick, ban, mute users)
- Deploy server as a Docker container
- Create a desktop client (with Rust + egui/iced)
- Add mobile/web notifications for new messages
❤️ Made with love by **Cumar**