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