1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-16 00:00:07 +01:00
libwebsockets/minimal-examples/client-server/minimal-ws-proxy
Andy Green bce8cca042 refactor: also migrate tls to the ops struct and private.h pattern
Several new ops are planned for tls... so better to bite the bullet and
clean it out to the same level as roles + event-libs first.

Also adds a new travis target "mbedtls" and all the tests except
autobahn against mbedtls build.
2018-05-02 12:10:36 +08:00
..
mount-origin minimal: refactor directories and add README.md 2018-04-06 10:38:02 +08:00
CMakeLists.txt refactor: most preparation for -DLWS_ROLE_H1=0 2018-04-27 19:16:50 +08:00
minimal-ws-proxy.c minimal: add switches and exit results 2018-04-19 16:16:48 +08:00
protocol_lws_minimal.c refactor: also migrate tls to the ops struct and private.h pattern 2018-05-02 12:10:36 +08:00
README.md minimal: refactor directories and add README.md 2018-04-06 10:38:02 +08:00

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.