IronsDu / Brynet
Licence: mit
A Header-Only cross-platform C++ TCP network library . Can use vcpkg(https://github.com/Microsoft/vcpkg/tree/master/ports/brynet) install
Stars: ✭ 674
Programming Languages
cpp11
221 projects
Projects that are alternatives of or similar to Brynet
Hp Socket
High Performance TCP/UDP/HTTP Communication Component
Stars: ✭ 4,420 (+555.79%)
Mutual labels: networking, cross-platform, https
Easyhttpcpp
A cross-platform HTTP client library with a focus on usability and speed
Stars: ✭ 110 (-83.68%)
Mutual labels: networking, cross-platform, https
Echo
High performance, minimalist Go web framework
Stars: ✭ 21,297 (+3059.79%)
Mutual labels: websocket, https
Curlcpp
An object oriented C++ wrapper for CURL (libcurl)
Stars: ✭ 462 (-31.45%)
Mutual labels: networking, cross-platform
Libhttpserver
C++ library for creating an embedded Rest HTTP server (and more)
Stars: ✭ 464 (-31.16%)
Mutual labels: cross-platform, https
Microwebsrv2
The last Micro Web Server for IoTs (MicroPython) or large servers (CPython), that supports WebSockets, routes, template engine and with really optimized architecture (mem allocations, async I/Os). Ready for ESP32, STM32 on Pyboard, Pycom's chipsets (WiPy, LoPy, ...). Robust, efficient and documented!
Stars: ✭ 295 (-56.23%)
Mutual labels: websocket, https
Hprose Nodejs
Hprose is a cross-language RPC. This project is Hprose 2.0 for Node.js
Stars: ✭ 297 (-55.93%)
Mutual labels: websocket, cross-platform
Actix Net
A collection of lower-level libraries for composable network services.
Stars: ✭ 415 (-38.43%)
Mutual labels: multithreading, networking
Airshare
Cross-platform content sharing in a local network
Stars: ✭ 497 (-26.26%)
Mutual labels: networking, cross-platform
Cppserver
Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution
Stars: ✭ 528 (-21.66%)
Mutual labels: websocket, https
Tor2web
Tor2web is an HTTP proxy software that enables access to Tor Hidden Services by mean of common web browsers
Stars: ✭ 531 (-21.22%)
Mutual labels: networking, https
Cute headers
Collection of cross-platform one-file C/C++ libraries with no dependencies, primarily used for games
Stars: ✭ 3,274 (+385.76%)
Mutual labels: networking, cross-platform
Beast
HTTP and WebSocket built on Boost.Asio in C++11
Stars: ✭ 3,241 (+380.86%)
Mutual labels: websocket, networking
Pode
Pode is a Cross-Platform PowerShell web framework for creating REST APIs, Web Sites, and TCP/SMTP servers
Stars: ✭ 329 (-51.19%)
Mutual labels: cross-platform, https
Lightio
LightIO is a userland implemented green thread library for ruby
Stars: ✭ 165 (-75.52%)
Mutual labels: multithreading, networking
Liteexchange
My programming lab : multithreaded order matching engine in C++11 using FIX for order entry for Linux/Windows , no 3rd party libraries
Stars: ✭ 142 (-78.93%)
Mutual labels: multithreading, cross-platform
Blinksocks
A framework for building composable proxy protocol stack.
Stars: ✭ 587 (-12.91%)
Mutual labels: websocket, https
So 5 5
SObjectizer: it's all about in-process message dispatching!
Stars: ✭ 87 (-87.09%)
Mutual labels: multithreading, cross-platform
Watsonwebserver
Watson is the fastest, easiest way to build scalable RESTful web servers and services in C#.
Stars: ✭ 125 (-81.45%)
Mutual labels: multithreading, https
Telegraph
Secure Web Server for iOS, tvOS and macOS
Stars: ✭ 474 (-29.67%)
Mutual labels: websocket, https
Brynet
Header Only Cross platform high performance TCP network library using C++ 11.
Build status
Features
- Header only
- Cross platform (Linux | Windows | MacOS)
- High performance and safety use.
- None depend
- Multi-threaded
- SSL support
- Support HTTP、HTTPS、WebSocket
- IPv6 support
Documentation
Compatibility
- Visual C++ 2013+ (32/64-bit)
- GCC 4.8+ (32/64-bit)
- Clang (Supported C++ 11)
Macro
- BRYNET_VERSION
- BRYNET_USE_OPENSSL
Build Example
cmake . -Dbrynet_BUILD_EXAMPLES=ON -Dbrynet_BUILD_TESTS=ON
- If you use Windows, please open brynet.sln then build. If on Linux or MacOS, only enter
make
.
Only Install
cmake .
sudo make install
Usages
Benchmark
Under localhost, use CentOS 6.5 virtual mahcine(host machine is Win10 i5)
-
PingPong
Benchamrk's server and client both only use one thread, and packet size is 4k
-
Broadcast
Server use two network threads and one logic thread, client use one network(also process logic) thread. every packet size is 46 bytes. every packet contain client's id. server broadcast packet to all client when recv one packet from any client. client send one packet when recv packet from server and packet's id equal self.
-
Ab HTTP(1 network thread)
Server Hostname: 127.0.0.1
Server Port: 9999
Document Path: /abc/de?a=1
Document Length: 25 bytes
Concurrency Level: 100
Time taken for tests: 17.734 seconds
Complete requests: 500000
Failed requests: 0
Total transferred: 41000000 bytes
HTML transferred: 12500000 bytes
Requests per second: 28194.36 [#/sec] (mean)
Time per request: 3.547 [ms] (mean)
Time per request: 0.035 [ms] (mean, across all concurrent requests)
Transfer rate: 2257.75 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 2 0.2 2 3
Processing: 1 2 0.3 2 7
Waiting: 0 1 0.4 1 6
Total: 2 4 0.2 4 7
Percentage of the requests served within a certain time (ms)
50% 4
66% 4
75% 4
80% 4
90% 4
95% 4
98% 4
99% 4
100% 7 (longest request)
Examples
- PingPongServer
- PingPongClient
- BroadCastServer
- BroadCastClient
- Http&Websocket Server
- HttpServerClient
- BenchWebsocket benchmark websocket client
- PromiseReceive use the promise style receive http response
- WebSocketProxy one proxy server between websocket client and binary protocol server
- more examples please see examples;
Users
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].