xref: /aosp_15_r20/external/libwebsockets/minimal-examples/ws-client/minimal-ws-client/README.md (revision 1c60b9aca93fdbc9b5f19b2d2194c91294b22281)
1*1c60b9acSAndroid Build Coastguard Worker# lws minimal ws client
2*1c60b9acSAndroid Build Coastguard Worker
3*1c60b9acSAndroid Build Coastguard WorkerThis connects to libwebsockets.org using the dumb-increment-protocol.
4*1c60b9acSAndroid Build Coastguard Worker
5*1c60b9acSAndroid Build Coastguard WorkerIt demonstrates how to use the connection retry and backoff stuff in lws.
6*1c60b9acSAndroid Build Coastguard Worker
7*1c60b9acSAndroid Build Coastguard Worker## build
8*1c60b9acSAndroid Build Coastguard Worker
9*1c60b9acSAndroid Build Coastguard Worker```
10*1c60b9acSAndroid Build Coastguard Worker $ cmake . && make
11*1c60b9acSAndroid Build Coastguard Worker```
12*1c60b9acSAndroid Build Coastguard Worker
13*1c60b9acSAndroid Build Coastguard Worker## Commandline Options
14*1c60b9acSAndroid Build Coastguard Worker
15*1c60b9acSAndroid Build Coastguard WorkerOption|Meaning
16*1c60b9acSAndroid Build Coastguard Worker---|---
17*1c60b9acSAndroid Build Coastguard Worker-d|Set logging verbosity
18*1c60b9acSAndroid Build Coastguard Worker-s|Use a specific server instead of libwebsockets.org, eg `--server localhost`.  Implies LCCSCF_ALLOW_SELFSIGNED
19*1c60b9acSAndroid Build Coastguard Worker-p|Use a specific port instead of 443, eg `--port 7681`
20*1c60b9acSAndroid Build Coastguard Worker-j|Allow selfsigned tls cert
21*1c60b9acSAndroid Build Coastguard Worker-k|Allow insecure certs
22*1c60b9acSAndroid Build Coastguard Worker-m|Skip server hostname check
23*1c60b9acSAndroid Build Coastguard Worker-n|Skip tls usage
24*1c60b9acSAndroid Build Coastguard Worker-e|Allow expired certs
25*1c60b9acSAndroid Build Coastguard Worker--protocol|Use a specific ws subprotocol rather than dumb-increment-protocol, eg, `--protocol myprotocol`
26*1c60b9acSAndroid Build Coastguard Worker
27*1c60b9acSAndroid Build Coastguard Worker
28*1c60b9acSAndroid Build Coastguard Worker## usage
29*1c60b9acSAndroid Build Coastguard Worker
30*1c60b9acSAndroid Build Coastguard WorkerJust run it, it will connect to libwebsockets.org and spew incrementing numbers
31*1c60b9acSAndroid Build Coastguard Workersent by the server at 20Hz
32*1c60b9acSAndroid Build Coastguard Worker
33*1c60b9acSAndroid Build Coastguard Worker```
34*1c60b9acSAndroid Build Coastguard Worker $ ./lws-minimal-ws-client
35*1c60b9acSAndroid Build Coastguard Worker[2020/01/22 05:38:47:3409] U: LWS minimal ws client
36*1c60b9acSAndroid Build Coastguard Worker[2020/01/22 05:38:47:4456] N: Loading client CA for verification ./libwebsockets.org.cer
37*1c60b9acSAndroid Build Coastguard Worker[2020/01/22 05:38:48:1649] U: callback_minimal: established
38*1c60b9acSAndroid Build Coastguard Worker[2020/01/22 05:38:48:1739] N:
39*1c60b9acSAndroid Build Coastguard Worker[2020/01/22 05:38:48:1763] N: 0000: 30                                                 0
40*1c60b9acSAndroid Build Coastguard Worker[2020/01/22 05:38:48:1765] N:
41*1c60b9acSAndroid Build Coastguard Worker
42*1c60b9acSAndroid Build Coastguard Worker...
43*1c60b9acSAndroid Build Coastguard Worker```
44*1c60b9acSAndroid Build Coastguard Worker
45*1c60b9acSAndroid Build Coastguard WorkerTo test against the lws test server instead of libwebsockets.org, run the test
46*1c60b9acSAndroid Build Coastguard Workerserver as
47*1c60b9acSAndroid Build Coastguard Worker
48*1c60b9acSAndroid Build Coastguard Worker```
49*1c60b9acSAndroid Build Coastguard Worker$ libwebsockets-test-server -s
50*1c60b9acSAndroid Build Coastguard Worker```
51*1c60b9acSAndroid Build Coastguard Worker
52*1c60b9acSAndroid Build Coastguard Workerand run this test app with
53*1c60b9acSAndroid Build Coastguard Worker
54*1c60b9acSAndroid Build Coastguard Worker```
55*1c60b9acSAndroid Build Coastguard Worker$ ./lws-minimal-ws-client -s localhost -p 7681 -j
56*1c60b9acSAndroid Build Coastguard Worker```
57*1c60b9acSAndroid Build Coastguard Worker
58*1c60b9acSAndroid Build Coastguard WorkerYou can kill and restart the server to confirm the client connection is re-
59*1c60b9acSAndroid Build Coastguard Workerestablished if done within the backoff period.
60