Popularity
8.3
Stable
Activity
9.6
Stable
3,197
221
1,218

Description

libwebsockets features * Provides server and client APIs for RFC6455 v13 ws:// and wss:// websocket protocol, along with http:// and https:// * Can be configured to use OpenSSL, CyaSSL, or WolfSSL to provide fully encrypted client and server links - including client certificate support * Lightweight and fast even at 250K connections per thread and beyond - performance per byte and performance per MIPS many times better than traditional solutions * CMake based project that has been used in a variety of OS contexts including Linux (uclibc and glibc), ARM-based embedded boards, MBED3, MIPS / OpenWRT, Windows, Android, Apple iOS and even Tivo. It's used all over the place including The New York Times customer-facing servers and BMW. * It includes a stub webserver that is enough to deliver your scripts to the browser that open websocket connections back to the same server, so it can solve the entire server side, ws://, wss://, http://, and https:// in one step. Apache, Java or any other server-side support is not needed. * Compliant browsers from the last few years are supported on any platform. * Full-strength SSL suport: A+ on SSLLABS test (this server is powered by lwsws) * Architectural features like nonblockinng event loop, zero-copy for payload data and FSM-based protocol parsers make it ideal for realtime operation on resource-constrained devices * Simple, pure C: user code creates a libwebsockets context with options and a callback, library calls the callback when events occur on the connection - no activity on connections == 0% CPU * Posix poll(), libev (ie, epoll) and libuv event loops supported * Proxy support, including Basic Auth

Code Quality Rank: L2
Programming language: C
License: GNU General Public License v3.0 or later
Tags: Networking     HTTP     WebSocket    
Latest version: v4.2.0

libwebsockets alternatives and similar libraries

Based on the "Networking" category.
Alternatively, view libwebsockets alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of libwebsockets or a related project?

Add another 'Networking' Library

README

CI status Coverity Scan Build Status CII Best Practices Codacy Badge Total alerts Language grade: C/C++ Language grade: JavaScript

Libwebsockets

Libwebsockets is a simple-to-use, MIT-license, pure C library providing client and server for http/1, http/2, websockets, MQTT and other protocols in a security-minded, lightweight, configurable, scalable and flexible way. It's easy to build and cross-build via cmake and is suitable for tasks from embedded RTOS through mass cloud serving.

It supports a lot of lightweight ancilliary implementations for things like JSON, CBOR, JOSE, COSE, and supports OpenSSL and MbedTLS v2 and v3 out of the box for everything. It's very gregarious when it comes to event loop sharing, supporting libuv, libevent, libev, sdevent, glib and uloop, as well as custom event libs.

100+ independent minimal examples for various scenarios, CC0-licensed (public domain) for cut-and-paste, allow you to get started quickly.

There are a lot of READMEs on a variety of topics.

We do a huge amount of CI testing per push, currently 510 builds on 27 platforms.

[overview](./doc-assets/lws-overview.png)

News

v4.2 is released

See the changelog

Support

This is the libwebsockets C library for lightweight websocket clients and servers. For support, visit

https://libwebsockets.org

and consider joining the project mailing list at

https://libwebsockets.org/mailman/listinfo/libwebsockets

You can get the latest version of the library from git:

Doxygen API docs for development: https://libwebsockets.org/lws-api-doc-main/html/index.html


*Note that all licence references and agreements mentioned in the libwebsockets README section above are relevant to that project's source code only.