https://github.com/phyulwin/multithreaded-chatserver-cpp20
This is a Systems-level project using modern C++ to demonstrate: Memory-safe programming, Multithreading OS-level networking (sockets)
https://github.com/phyulwin/multithreaded-chatserver-cpp20
asyncio chatserver cmake cpp20 modern-cpp multithreading networking sockets system telnet-client
Last synced: 10 months ago
JSON representation
This is a Systems-level project using modern C++ to demonstrate: Memory-safe programming, Multithreading OS-level networking (sockets)
- Host: GitHub
- URL: https://github.com/phyulwin/multithreaded-chatserver-cpp20
- Owner: phyulwin
- License: apache-2.0
- Created: 2025-08-07T06:48:13.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-08-07T06:50:55.000Z (10 months ago)
- Last Synced: 2025-08-07T08:36:30.871Z (10 months ago)
- Topics: asyncio, chatserver, cmake, cpp20, modern-cpp, multithreading, networking, sockets, system, telnet-client
- Language: C++
- Homepage:
- Size: 306 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Multithreaded Chat Server
#### Systems-Level + Modern C++ (Core Competency Project)
A **multithreaded chat server** that can:
* Handle multiple clients concurrently
* Support chat rooms
* Broadcast messages using a message queue
### Tools & Technologies:
* **C++20** – Modern language features.
* **Compiler** – GCC or Clang (with C++20 support).
* **Build System** – CMake.
* **Socket API** – Winsock (Windows).
* **Threading** – `std::thread`, `std::mutex`, `std::condition_variable`.
* **I/O Multiplexing** – `select()` or `epoll` (Linux).
* **Development Environment** – VS Code.
* **Version Control** – Git.
* **Message Queue** – std::queue + mutex/condition\_variable or use a concurrent queue.
---
### **Screenshots**
.png)
.png)
.png)
---
### **Project Key Concepts:**
* Networking with raw sockets
* Parallel processing using threads
* Resource management using RAII and smart pointers
* Efficient I/O handling at scale
* Clean, modular modern C++ code