LWS is Free Software using the MIT license.
git clone https://libwebsockets.org/repo/libwebsockets
Role | Client | Server |
http/1.x | ⭘ | ⭘ |
http/2 | ⭘ | ⭘ |
websockets | ⭘ | ⭘ |
ws-over-h2 | ⨯ | ⭘ |
raw tcp / udp / file | ⭘ | ⭘ |
MQTT | ⭘ | ⨯ |
New roles can be added cleanly to lws.
LWS provides generic apis to access hashing, RSA, X509 and tls library features independent of the tls backend.
LWS user code does not have to be customized depending on the event loop in use. For example LWS provides a generic high-resolution timer for each connection to arrange for delayed callbacks, hiding the details of the exact implementation depending on the chosen event loop.
CMake is used to configure the sources for the platform it finds itself building on, and cross-build is also supported.
After successful build, 1500 tests are run against Autobahn, h2spec, h2load, and lws suites with specific goals like http parser security and robustness, for both OpenSSL and mbedTLS. Any problems break the CI build.