mirror of
https://github.com/warmcat/libwebsockets.git
synced 2025-03-16 00:00:07 +01:00
![]() 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 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
minimal-ws-client.c | ||
README.md |
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.