tree: 0a8a812e8c51a031c3cb19a04c0f0d6a230caffd [path history] [tgz]
  1. CMakeLists.txt
  2. libwebsockets.org.cer
  3. minimal-ws-client.c
  4. README.md
minimal-examples/ws-client/minimal-ws-client/README.md

lws minimal ws client

This connects to libwebsockets.org using the dumb-increment-protocol.

It demonstrates how to use the connection retry and backoff stuff in lws.

build

 $ cmake . && make

Commandline Options

OptionMeaning
-dSet logging verbosity
-sUse a specific server instead of libwebsockets.org, eg --server localhost. Implies LCCSCF_ALLOW_SELFSIGNED
-pUse a specific port instead of 443, eg --port 7681
-jAllow selfsigned tls cert
-kAllow insecure certs
-mSkip server hostname check
-nSkip tls usage
-eAllow expired certs
--protocolUse a specific ws subprotocol rather than dumb-increment-protocol, eg, --protocol myprotocol

usage

Just run it, it will connect to libwebsockets.org and spew incrementing numbers sent by the server at 20Hz

 $ ./lws-minimal-ws-client
[2020/01/22 05:38:47:3409] U: LWS minimal ws client
[2020/01/22 05:38:47:4456] N: Loading client CA for verification ./libwebsockets.org.cer
[2020/01/22 05:38:48:1649] U: callback_minimal: established
[2020/01/22 05:38:48:1739] N: 
[2020/01/22 05:38:48:1763] N: 0000: 30                                                 0               
[2020/01/22 05:38:48:1765] N: 

...

To test against the lws test server instead of libwebsockets.org, run the test server as

$ libwebsockets-test-server -s

and run this test app with

$ ./lws-minimal-ws-client -s localhost -p 7681 -j

You can kill and restart the server to confirm the client connection is re- established if done within the backoff period.