Libwebsockets a powerful and lightweight pure C library

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • Sonar - Write Clean C++ Code. Always.
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • SaaSHub - Software Alternatives and Reviews
  • µWebSockets

    Simple, secure & standards compliant web server for the most demanding of applications

    How does this fare compared to uWebSockets? https://github.com/uNetworking/uWebSockets

  • libwebsockets

    canonical libwebsockets.org networking library

  • 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.

  • WebUDP

    Minimal WebRTC datachannel server

    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.

    [0] https://github.com/seemk/WebUDP

  • 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.

  • FrameworkBenchmarks

    Source for the TechEmpower Framework Benchmarks project

    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

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts