Write a TCP server in C++ that handles thousands of simultaneous client connections using minimal boilerplate code.
Build a chat server or HTTP server in C++ using one of handy's included examples as a starting point.
Add SSL encryption to a C++ server using handy's optional SSL integration without changing the core server logic.
The README and most documentation are in Chinese, requires a C++11-compatible compiler and make.
Handy is a C++ networking library designed to make it straightforward to write server software that handles many simultaneous connections. The library is described as able to support tens of thousands of concurrent connections on a single machine. It is written in C++11, which is a version of C++ from 2011 that added several modern programming conveniences. The main appeal of the library is conciseness. The README shows an example of a complete echo server, a server that simply sends back whatever data it receives, written in about ten lines of code. Under the hood, the library uses epoll on Linux and kqueue on macOS, which are operating-system mechanisms that allow a program to efficiently monitor thousands of network connections without dedicating a thread to each one. The library supports a hybrid model where network input and output is handled asynchronously by the framework, while the actual processing of each request can be done synchronously in regular sequential code. This can simplify writing the logic of a server. There are also optional integrations for SSL encrypted connections and for protobuf, a system for defining and encoding structured messages. The repository includes a collection of example programs covering common server patterns: an echo server, a simple chat server, a basic HTTP server, a timer-based server, automatic reconnection on disconnect, UDP clients and servers, and a daemon mode that runs the server as a background process. Separate lower-level examples show how to use epoll and kqueue directly without the library, for reference. The README is primarily written in Chinese. It is licensed under a BSD-style license. Installation is done by running make and make install.
← yedf2 on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.