This repository is my personal project to learn about socket programming and deepen my knowledge of C++. The project focuses on building a custom server using C++ to explore and understand the fundamentals of socket programming, enabling efficient communication between devices over a network. The server is designed to handle multiple client connections concurrently, demonstrating basic concepts such as socket creation, binding, listening, and data transmission. This project also includes the use of modern C++ features.
- Socket Creation: Establish and configure server sockets.
- Concurrent Connections: Handle multiple client connections concurrently, showcasing efficient multithreading techniques.
- Data Transmission: Send and receive messages between server and clients.
- Error Handling: Implement basic error checking and handling for robustness.
- Modern C++ Features: Utilizes
std::optionalfor safe and expressive handling of optional values.
To get started, clone the repository and follow the instructions in the README to set up and run the server on your machine.
- Basic knowledge of C++ programming
- Understanding of networking concepts
- A compiler that supports C++11 or higher
- Clone this repository.
- Compile the source code using your preferred C++ compiler.
- Run the server and connect clients to test the setup.
Feel free to open issues or submit pull requests if you have improvements or features to add.
This project is licensed under the MIT License.