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 d3308df40f windows: pthreads
Add support for external pthreads lib on windows and some docs about how to do.

It can build with LWS_WITH_THREADPOOL and LWS_WITH_MINIMAL_EXAMPLES including the
pthreads-dependent ones without warnings or errors on windows platform as well with this.

pthreads_t can be anything, including a struct - not a pointer-to-a-struct
but the struct itself.  These can't be cast to a void * for printing as they can
on linux, where the base type is a pointer.

Let's fix all the usage of those to determine their own thread index in terms
of the meaning to the program rather than as a tid.
2020-04-07 14:05:21 +01:00
..
CMakeLists.txt windows: pthreads 2020-04-07 14:05:21 +01:00
minimal-ws-client.c windows: pthreads 2020-04-07 14:05:21 +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.