Our great sponsors
-
How does this fare compared to uWebSockets? https://github.com/uNetworking/uWebSockets
-
-
Sonar
Write Clean C++ Code. Always.. Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.
-
There is this[0]. It’s C++ but the API is simple and it works well, you don’t need to setup any extra ICE/TURN/STUN stuff either.
-
RingSocket
Highly scalable lockless multi-threaded C11 Linux WebSocket server with backend app plugin API
I wrote something similar, except instead of providing a library (which Libwebsockets already does a fine job of), I created a server/framework accepting shared objects as backend plugins running as dedicated threads interacting with spsc lockless ringbuffers. In other words, more or less the inverse of a library: https://github.com/wbudd/ringsocket
I haven't been putting much time into it anymore lately, but I intend to create a bunch of language bindings for it soon so you can write plugins in other languages too such as Python, C++, Rust, etc. Should be interesting.
-
According to TechEmpower benchmark, C# and Java perform better in some tasks than C/C++ [1]
Even in categories where C/C++ are more performant, other languages are not that far behind.
If at all possible, we should not use memory unsafe languages for anything, especially something exposed as a server. No mater how careful you are, and with all the tooling available, majority of exploits in popular software happen due to memory unsafe languages.
[1] https://www.techempower.com/benchmarks/#section=data-r20&hw=...
-
libdatachannel
C/C++ WebRTC network library featuring Data Channels, Media Transport, and WebSockets