mirror of
https://github.com/warmcat/libwebsockets.git
synced 2025-03-16 00:00:07 +01:00
![]() This adds an lws cmake option that builds all the minimal examples as part of lws, it's useful for QA. It adds a macro to examples that depend on a particular lws configuration to understand they should just null out their project definition in builds where the lws configuration requirement is not met, and we are building as part of lws. It also adapts all the example library additions to select the just-built-but-not-yet-installed library in the case it is built as part of lws. If built standalone, it now uses the cmake platform-abstracted way to add the library requirement too. |
||
---|---|---|
.. | ||
mount-origin | ||
CMakeLists.txt | ||
minimal-ws-proxy.c | ||
protocol_lws_minimal.c | ||
README.md |
lws minimal ws proxy
Build
$ cmake . && make
Description
This is the same as minimal-ws-server-ring, but with the inclusion of a ws client connection to https://libwebsockets.org using the dumb-increment protocol feeding the ringbuffer.
Each client that connect to this server receives the content that had arrived on the client connection feeding the ringbuffer proxied to their browser window over a ws connection.
Usage
$ ./lws-minimal-ws-proxy
[2018/03/14 17:50:10:6938] USER: LWS minimal ws proxy | visit http://localhost:7681
[2018/03/14 17:50:10:6955] NOTICE: Creating Vhost 'default' port 7681, 2 protocols, IPv6 off
[2018/03/14 17:50:10:6955] NOTICE: Using non-SSL mode
[2018/03/14 17:50:10:7035] NOTICE: created client ssl context for default
[2018/03/14 17:50:11:7047] NOTICE: binding to lws-minimal-proxy
[2018/03/14 17:50:11:7047] NOTICE: lws_client_connect_2: 0x872e60: address libwebsockets.org
[2018/03/14 17:50:12:3282] NOTICE: lws_client_connect_2: 0x872e60: address libwebsockets.org
[2018/03/14 17:50:13:8195] USER: callback_minimal: established
Visit http://localhost:7681 on multiple browser windows
Data received on the remote wss connection is copied to all open browser windows.
A ringbuffer holds up to 8 lines of text in the server, and the browser shows the last 20 lines of received text.