A high performance, cross-platform Internet Communication Engine. Developed with native socket API. Aim at handling millions of concurrent connections.
- Both client and server can run on Windows, Linux or MacOS.
- Cross-platform communication between client and server.
- Support different IO-multiplexing Models
- Developed with native socket API and C++ standard libraries, no dependency on any external libraries.
- Along with an one-click compile script to deploy.
- Current concurrency ability: 10K connections, 1Gbps I/O with single thread
- Target concurrency ability: 1M concurrent connections.
- A complete and detailed log system
- Friendly configuration files
- Heartbeat detection and flow control is available
- Customizable thread pool, memory pool and object pool
- select
- IOCP (TODO)
- epoll
- TCP
- UDP (TODO)
- FTP (TODO)
- HTTP (TODO)
There are examples of a TCP client and TCP server under examples/
. The server is an echo server, which sends back messages
CMake 3.0.0 or higher.
g++ 4.7 or higher.
git clone https://github.com/navining/Zeus.git
cd Zeus/examples
./build.sh
Visual Studio 2015 or higher. Open Zeus.sln
and build with VS.
Executable files are generated under bin/
.
Sample script are provided as well, where programmers can custom the parameters.
server.sh
and client.sh
under server/
and client/
.
server.bat
and client.bat
under server/
and client/
.