A multi-threaded echo server built with C++ and Windows Sockets (Winsock2), supporting both TCP and UDP, built as part of Coding Challenges series.
This project implements a concurrent echo server that listens on port 7 and accepts multiple client connections simultaneously. Each TCP client connection is handled in a separate thread, allowing the server to echo data from multiple clients independently. UDP traffic is processed in a single loop and echoed back to the sender.
- Protocol Support: TCP by default, UDP optionally via command-line
-uor--udpflag - Multi-threaded: Handles multiple concurrent client connections
- Port 7 Default: Listens on port 7 by default (configurable)
- Echo Functionality: Echoes back any data received from clients
- Graceful Shutdown: Cleanly stops the server on user command
- Error Handling: Comprehensive error reporting for socket operations
- Windows OS (uses Winsock2)
- C++11 or later (for threading support)
- CMake 3.10+ (for building)
- Visual Studio Build Tools or similar C++ compiler
- ncat for evaluation