1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-16 00:00:07 +01:00
libwebsockets/minimal-examples/ws-client/minimal-ws-client-tx
Andy Green 498a4e2bd7 sul: all timed objects use a single pt sul list
wsi timeout, wsi hrtimer, sequencer timeout and vh-protocol timer
all now participate on a single sorted us list.

The whole idea of polling wakes is thrown out, poll waits ignore the
timeout field and always use infinite timeouts.

Introduce a public api that can schedule its own callback from the event
loop with us resolution (usually ms is all the platform can do).

Upgrade timeouts and sequencer timeouts to also be able to use us resolution.

Introduce a prepared fakewsi in the pt, so we don't have to allocate
one on the heap when we need it.

Directly handle vh-protocol timer if LWS_MAX_SMP == 1
2019-08-09 10:12:09 +01:00
..
CMakeLists.txt refactor: most preparation for -DLWS_ROLE_H1=0 2018-04-27 19:16:50 +08:00
minimal-ws-client.c sul: all timed objects use a single pt sul list 2019-08-09 10:12:09 +01:00
README.md minimal: ws-client-tx and change dir names to match project name 2018-04-06 10:38:03 +08:00

lws minimal ws client tx

This demonstrates a ws "publisher" to go with the minimal-ws-broker example.

Two threads are spawned that produce messages to be sent to the broker, via a local ringbuffer. Locking is provided to make ringbuffer access threadsafe.

When a nailed-up client connection to the broker is established, the ringbuffer is sent to the broker, which distributes the events to all connected clients.

build

 $ cmake . && make

usage

This example connects to ws-server/minimal-ws-broker, so you need to build and run that in another terminal.

 $ ./lws-minimal-ws-client-tx
[2018/03/16 16:04:33:5774] USER: LWS minimal ws client tx
[2018/03/16 16:04:33:5774] USER:   Run minimal-ws-broker and browse to that
[2018/03/16 16:04:33:5774] NOTICE: Creating Vhost 'default' port -1, 1 protocols, IPv6 off
[2018/03/16 16:04:34:5794] USER: callback_minimal_broker: established

If you open a browser on http://localhost:7681 , you will see the subscribed messages from the threads in this app via the broker app.