1*1c60b9acSAndroid Build Coastguard Worker# lws minimal secure streams server raw
2*1c60b9acSAndroid Build Coastguard Worker
3*1c60b9acSAndroid Build Coastguard WorkerThe application sets up a raw tcp server on localhost:7681
4*1c60b9acSAndroid Build Coastguard Worker
5*1c60b9acSAndroid Build Coastguard WorkerIt does it using Secure Streams... information about how the server should
6*1c60b9acSAndroid Build Coastguard Workeroperate is held in JSON policy in main.c
7*1c60b9acSAndroid Build Coastguard Worker
8*1c60b9acSAndroid Build Coastguard WorkerConnecting to the server using `echo "hello" | nc --no-shutdown 127.0.0.1 7681`
9*1c60b9acSAndroid Build Coastguard Workerwill send "hello" which is hexdumped to console by the rx function, then
10*1c60b9acSAndroid Build Coastguard Workerwill receive an incrementing message at 100ms intervals.
11*1c60b9acSAndroid Build Coastguard Worker
12*1c60b9acSAndroid Build Coastguard WorkerNote there are two incomaptible versions of netcat around, this is from Fedora's
13*1c60b9acSAndroid Build Coastguard Workernmap-ncat, the --no-shutdown is needed to stop it hanging up itself after it
14*1c60b9acSAndroid Build Coastguard Workerhas sent its stdin.
15*1c60b9acSAndroid Build Coastguard Worker
16*1c60b9acSAndroid Build Coastguard Worker## build
17*1c60b9acSAndroid Build Coastguard Worker
18*1c60b9acSAndroid Build Coastguard Worker```
19*1c60b9acSAndroid Build Coastguard Worker $ cmake . && make
20*1c60b9acSAndroid Build Coastguard Worker```
21*1c60b9acSAndroid Build Coastguard Worker
22*1c60b9acSAndroid Build Coastguard Worker## usage
23*1c60b9acSAndroid Build Coastguard Worker
24*1c60b9acSAndroid Build Coastguard WorkerCommandline option|Meaning
25*1c60b9acSAndroid Build Coastguard Worker---|---
26*1c60b9acSAndroid Build Coastguard Worker-d <loglevel>|Debug verbosity in decimal, eg, -d15
27*1c60b9acSAndroid Build Coastguard Worker
28*1c60b9acSAndroid Build Coastguard Worker```
29*1c60b9acSAndroid Build Coastguard Worker[2020/07/28 10:25:54:6747] U: LWS Secure Streams Server Raw
30*1c60b9acSAndroid Build Coastguard Worker[2020/07/28 10:25:54:7194] N: LWS: 4.0.99-v4.0.0-247-g58be599aa, loglevel 1031
31*1c60b9acSAndroid Build Coastguard Worker[2020/07/28 10:25:54:7198] N: NET CLI SRV H1 H2 WS MQTT SS-JSON-POL SSPROX ASYNC_DNS IPv6-absent
32*1c60b9acSAndroid Build Coastguard Worker[2020/07/28 10:25:54:9376] N: lws_adopt_descriptor_vhost2: wsi 0x5317d30, vhost system ss_handle (nil)
33*1c60b9acSAndroid Build Coastguard Worker[2020/07/28 10:25:54:9442] N: lws_adopt_descriptor_vhost2: wsi 0x53182c0, vhost system ss_handle (nil)
34*1c60b9acSAndroid Build Coastguard Worker[2020/07/28 10:25:54:9920] N: smd_cb: creating server stream
35*1c60b9acSAndroid Build Coastguard Worker[2020/07/28 10:25:54:9963] N: lws_ss_create: created server myrawserver
36*1c60b9acSAndroid Build Coastguard Worker[2020/07/28 10:26:00:1065] N: secstream_raw: RAW_ADOPT
37*1c60b9acSAndroid Build Coastguard Worker[2020/07/28 10:26:00:1068] N: lws_adopt_descriptor_vhost2: wsi 0x531a6b0, vhost myrawserver ss_handle 0x5319ac0
38*1c60b9acSAndroid Build Coastguard Worker[2020/07/28 10:26:00:1088] U: myss_raw_state: 0x531aad0 LWSSSCS_CREATING, ord 0x0
39*1c60b9acSAndroid Build Coastguard Worker[2020/07/28 10:26:00:1094] U: myss_raw_state: 0x531aad0 LWSSSCS_CONNECTING, ord 0x0
40*1c60b9acSAndroid Build Coastguard Worker[2020/07/28 10:26:00:1096] U: myss_raw_state: 0x531aad0 LWSSSCS_CONNECTED, ord 0x0
41*1c60b9acSAndroid Build Coastguard Worker[2020/07/28 10:26:00:1172] U: myss_raw_rx: len 6, flags: 0
42*1c60b9acSAndroid Build Coastguard Worker[2020/07/28 10:26:02:8516] U: myss_raw_state: 0x531aad0 LWSSSCS_DISCONNECTED, ord 0x0
43*1c60b9acSAndroid Build Coastguard Worker[2020/07/28 10:26:02:8545] U: myss_raw_state: 0x531aad0 LWSSSCS_DESTROYING, ord 0x0
44*1c60b9acSAndroid Build Coastguard Worker^C[2020/07/28 10:26:04:9608] U: myss_raw_state: 0x5319ac0 LWSSSCS_DESTROYING, ord 0x0
45*1c60b9acSAndroid Build Coastguard Worker[2020/07/28 10:26:04:9723] U: Completed: OK
46*1c60b9acSAndroid Build Coastguard Worker```
47*1c60b9acSAndroid Build Coastguard Worker
48*1c60b9acSAndroid Build Coastguard Worker```
49*1c60b9acSAndroid Build Coastguard Worker$ echo "hello" | nc --no-shutdown 127.0.0.1 7681
50*1c60b9acSAndroid Build Coastguard Workerhello from raw 0
51*1c60b9acSAndroid Build Coastguard Workerhello from raw 1
52*1c60b9acSAndroid Build Coastguard Workerhello from raw 2
53*1c60b9acSAndroid Build Coastguard Worker...
54*1c60b9acSAndroid Build Coastguard Worker```
55