Build an HTTP client or server in C++ with full control over how memory and threads are managed, without a framework deciding for you.
Add WebSocket support to a C++ application for real-time two-way communication, such as a live game server or chat backend.
Write an async C++ proxy or gateway that acts as both an HTTP client and HTTP server simultaneously.
| boostorg/beast | chlumsky/msdfgen | opentrack/opentrack | |
|---|---|---|---|
| Stars | 4,792 | 4,794 | 4,788 |
| Language | C++ | C++ | C++ |
| Setup difficulty | moderate | moderate | easy |
| Complexity | 5/5 | 3/5 | 2/5 |
| Audience | developer | developer | general |
Figures from each repo's GitHub metadata at analysis time.
Requires Boost and Boost.Asio, OpenSSL is needed for encrypted connections. Intended for developers already comfortable with asynchronous C++ programming.
Boost.Beast is a C++ library for building programs that communicate over HTTP and WebSocket, the two protocols that power most of the modern web. It is part of the Boost collection of C++ libraries, which are widely used in professional C++ development for tasks the standard library does not cover. Beast specifically handles the low-level details of reading and writing HTTP requests, HTTP responses, and WebSocket messages without making decisions for you about how to manage memory or threads. The library is built on top of Boost.Asio, another Boost library that provides the underlying networking and asynchronous I/O foundation. Beast adds the HTTP and WebSocket vocabulary on top of that foundation. This means developers who already know Boost.Asio can use Beast without learning a completely different model. The same code structure works whether you are building a client that sends requests, a server that receives them, or a program that acts as both. Beast is a header-only library, which means there is nothing to compile separately. You add the include line to your source file and your compiler picks it up directly. The only runtime dependency is OpenSSL if you need encrypted connections. Since the library gives you control over all the important details, the README explicitly notes that it is intended for programmers already comfortable with asynchronous network programming in C++. It is not designed as a high-level framework that hides complexity. The library has been presented at multiple C++ conferences including CppCon and was independently reviewed by a security research firm in 2018. It is available through any standard Boost distribution and is documented on the official Boost website. Tests are verified against an external WebSocket compliance suite.
A header-only C++ library for building HTTP and WebSocket clients and servers on top of Boost.Asio, giving experienced async C++ developers direct, low-level control over network communication without hidden abstractions.
Mainly C++. The stack also includes C++, Boost, Boost.Asio.
No license information is mentioned in the explanation.
Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.