开源软件名称(OpenSource Name):warmcat/libwebsockets开源软件地址(OpenSource Url):https://github.com/warmcat/libwebsockets开源编程语言(OpenSource Language):C 95.2%开源软件介绍(OpenSource Introduction):LibwebsocketsLibwebsockets 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 582 builds on 30 platforms. You can see the lws CI rack and read about how lws-based Sai is used to coordinate all the testing. NewsHTML + CSS + JPEG + PNG display stack in lwsWant to drive your EPD or TFT / OLED display using HTML + CSS? Only got an ESP32? Want remote JPEGs, PNGs, HTML, RGBA composition, gamma, error diffusion if needed? Realtime render into a line buffer because you don't have enough heap for a framebuffer? Perl binding for lws availableThanks to Felipe Gasper, there's now a perl binding for lws available at metacpan, this uses the recent generic event loop support in lws to have lws as a guest on an existing perl event loop. Lws examples switching to Secure StreamsSecure Streams support in lws was introduced a couple of years ago, it's a
higher-level interface to lws The user code just asks to create a SS by "streamtype name", it is created according to the details (protocol, endpoint, etc) under the same name in the policy. Key policy entries like endpoint can contain As a layer on top of the In main branch I have moved the older examples into Comparison between wsi and SS level lws usage
Serialized Secure StreamsSecure Streams APIs are also serializable, the exact same client code can fulfil the connection directly in the same process as you would expect, or forward the actions, metadata and payloads to an SS Proxy that owns the policy over a Unix Domain or TCP socket connection to be fulfilled centrally. This allows, eg, h2 streams from different processes sharing a single connection. The serialized SS can also travel over generic transports like UART, an example is provided implementing the Binance example on an RPi Pico with a UART transport to a UART transport SS proxy, where the pico itself has no network stack, tls, compression or wss stack, but can send and receive to and from the endpoint as if it did. The optional The user SS code is identical however it is transported, muxed and fulfilled. v4.3 is releasedSee the changelog Lws work retrospectiveThe initial commit for lws will have been 11 years ago come Oct 28 2021, it's been a lot of work. There are a total of 4.3K patches, touching 800KLOC cumulatively (this is not the size in the repo, but over the years, how many source lines were changed by patches). Gratifyingly, it turns out over the years, ~15% of that was contributed by 404 contributors: that's not so bad. Thanks a lot to everyone who has provided patches. Today at least tens of millions of devices and product features rely on lws to handle their communications including several from FAANG; Google now include lws as part of Android sources. SupportThis is the libwebsockets C library for lightweight websocket clients and servers. For support, visit 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 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论