llhttp
µWebSockets
llhttp | µWebSockets | |
---|---|---|
7 | 41 | |
1,586 | 16,817 | |
0.6% | 0.5% | |
8.7 | 8.6 | |
7 days ago | about 2 months ago | |
TypeScript | 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.
llhttp
-
Notes: Advanced Node.js Concepts by Stephen Grider
In the source code of the Node.js opensource project, lib folder contains JavaScript code, mostly wrappers over C++ and function definitions. On the contrary, src folder contains C++ implementations of the functions, which pulls dependencies from the V8 project, the libuv project, the zlib project, the llhttp project, and many more - which are all placed at the deps folder.
-
Rest server for embedded system
Some useful libraries include nghttp2 for HTTP/2 and llhttp for HTTP/1.1. Both are network stack and TLS implementation agnostic.
-
Does nodejs intercept http request natively or does it use something to understand http request like wsgi in python ?
There is a HTTP parser directly bundled in node (https://github.com/nodejs/llhttp)
-
Fetch API has landed into Node.js
Those wasm blobs are Node's own llhttp https://github.com/nodejs/llhttp in wasm to speed up HTTP parsing.
The question is totally legitimate but please assume core doesn't make "load random binary" level kind of goofs :)
-
Book recommendations for Backend development concepts for a beginner
For HTTP, you have to look at HTTP parser. For example, https://github.com/nodejs/llhttp is used in NodeJS.
-
The history and reasons behind CORS, and how to use it
Whoa, I didn't know that! But yeah, it seems like https://github.com/nodejs/http-parser is based on nginx. It now uses https://github.com/nodejs/llhttp but has some of the same legacy.
On the other hand, deno's HTTP stuff is built on top of Hyper, a Rust library https://github.com/hyperium/hyper
-
Show HN: Micro HTTP server in 22 lines of C
No, parsing HTTP/1.x is a nightmare and definitely not simple. It wasn't even particularly well defined until 2014 when the original RFCs were modernized, and even now there are bugs reported in HTTP parsers all the time.
Node.js came out in 2009, a full ten years after HTTP/1.1 (RFC 2068) and it's original http-parser is full-on spaghetti code, doesn't conform to the RFCs for performance reasons, and is considered unmaintainable by the author of it's replacement[0]
[0] https://github.com/nodejs/llhttp
µ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.
-
Recommendations for a CPP HTTP server which supports changing max threads at run time.
You can do that with any single threaded library that leaves threading to you. Like for example https://github.com/uNetworking/uWebSockets
-
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.
[0] https://docs.websocketpp.org/
[1] https://github.com/uNetworking/uWebSockets
-
WebSocket Server in C
Really cool i also made and CAPI for using WebSocket in C, https://github.com/uNetworking/uWebSockets/tree/master/capi
I will take a deep look on your project thanks for sharing!
-
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
- 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.
What are some alternatives?
HTTP Parser - http request/response parser for c
Boost.Beast - HTTP and WebSocket built on Boost.Asio in C++11
http-proxy - A full-featured http proxy for node.js
libwebsockets - canonical libwebsockets.org networking library
ioccc - My IOCCC submissions and practice.
WebSocket++ - C++ websocket client/server library
ultra - An ultra-small, ultra-fast, web server.
drogon - Drogon: A C++14/17 based HTTP web application framework running on Linux/macOS/Unix/Windows [Moved to: https://github.com/drogonframework/drogon]
fetch - Fetch Standard
Mongoose - Embedded Web Server
libuhttpd - A very flexible, lightweight and high performance HTTP server library based on libev and http-parser for Embedded Linux.
rpc-websockets - JSON-RPC 2.0 implementation over WebSockets for Node.js and JavaScript/TypeScript