Proxygen
µWebSockets
Our great sponsors
Proxygen | µWebSockets | |
---|---|---|
6 | 41 | |
8,001 | 16,637 | |
0.3% | 1.1% | |
9.2 | 8.6 | |
6 days ago | 12 days ago | |
C++ | C++ | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Proxygen
- Nghttp3 1.0.0 – HTTP/3 library written in C
- Zap – fast back ends in Zig
- C++ (or C, I guess) application server that's QUIC/HTTP3 ready?
-
kleinsHTTP: A stupid stupidly simple HTTP Server
proxygen claims to support all 3, although I'm still not sure if it's an actual library or just an interface.
-
cpprestsdk in maintenance mode
If you need an embedded C++ HTTP server then there are plenty of libraries/frameworks (in random order): Crow, RESTinio, Boost.Beast, cpp-httplib, http_backend, Pistache, RestBed, served, proxygen, Simple-Web-Server, drogon, oat++.
-
Experiments with h3 clients + Envoy
proxygen/hq
µWebSockets
-
I'm open-sourcing my game engine
They use (uWebSockets)[https://github.com/uNetworking/uWebSockets], which was written in C++, but has an interface to use in NodeJS. It's been really performant for me in my simple tests compared to other popular websocket libs that slow down fairly quickly.
-
8 Best WebSocket Libraries For Node
µWebSockets, pronounced as "microWebSocket”, is a WebSocket library written in C++ and has Node.js bindings. Its design focuses on being efficient and scalable, making it ideal for applications that require high concurrency and low latency.
-
What's the hot tech stack these days?
Websockets are also pretty valuable for updating the page in real time, there are servers in many languages. I'm a big fan of https://github.com/uNetworking/uWebSockets which is C++ but also has JS bindings to use with Node.js.
-
I have done a full benchmark of a POST REST API on my computer: Node.js vs Fastify vs Express.js vs Deno vs Bun vs GO. Node.js is used WITH and WITHOUT clustering on 6-core I7 processor
Can you include uWebsockets? https://github.com/uNetworking/uWebSockets
-
[Cpp] Quelle bibliothèque de serveur Web C++ faut-il utiliser de nos jours ?
μWebSockets Génial, rapide, peut transformer l’eau en vin. Nécessite C++17.
-
Nuklear – A single-header ANSI C immediate mode cross-platform GUI library
Not exaclty -- it looks like it's pretty overkill for my needs
I'm looking for something more like websocketpp[0], or even just grpc without a requisite proxy. uWebsockets looks really promising, being header only, but in the fine print requires a runtime library. unfortunately, none of that ecosystem seems to use cmake, making integrating it that much more of a pain.
why use cpp for this, I'm sure some HNer will ask. the ray tracer itself is using cuda, that's why. I've also debated
- running it as a grpc server and having some proxy in a more web-accessible language
- creating python bindings and using python to make a websocket/http server for it
neither of those are out of the question, but they're not my first choices, because I'd like to keep the build & execution simple. introducing dependencies, especially other executables, is in conflict with that.
i don't need anything particularly scalable -- a threaded implementation, or one using select() would be fine, if not preferable.
-
Socketify.py - Maybe the fastest web framework for Python and PyPy
We discover a really fast, small, and well maintained C++ Library called uNetworking/uWebSockets, but no C API available, so we create and adapt the full C API from uNetworking/uWebSockets and will integrate libuv powered fetch and file IO, this same C API is used by Bun
-
uWebSockets
Cool little library, I'm using it, but author has an ego the size of Wolfram's. This is just one snippet, there are many if you rummage through the docs and issues:
> In the 1970s, programming was an elite's task. Today programming is done by uneducated "farmers" and as a result, the care for smart algorithms, memory usage, CPU-time usage and the like has dwindled in comparison. Just look at, how many web developers represent time - it is not uncommon for web developers to send an entire textual representation of time as 30-something actual letters inside a JSON document with an actual textual key.
https://github.com/uNetworking/uWebSockets/blob/master/misc/...
For those who didn’t know, uWebSockets is one of the reasons for Bun’s high performance in server benchmarks [1], not just JavaScriptCore.
[1] https://github.com/uNetworking/uWebSockets/discussions/1466#...
What are some alternatives?
Boost.Beast - HTTP and WebSocket built on Boost.Asio in C++11
libwebsockets - canonical libwebsockets.org networking library
C++ REST SDK - The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.
WebSocket++ - C++ websocket client/server library
drogon - Drogon: A C++14/17 based HTTP web application framework running on Linux/macOS/Unix/Windows [Moved to: https://github.com/drogonframework/drogon]
Mongoose - Embedded Web Server
rpc-websockets - JSON-RPC 2.0 implementation over WebSockets for Node.js and JavaScript/TypeScript
POCO - The POCO C++ Libraries are powerful cross-platform C++ libraries for building network- and internet-based applications that run on desktop, server, mobile, IoT, and embedded systems.
Simple-WebSocket-Server