1*1c60b9acSAndroid Build Coastguard Worker# lws minimal raw netcat 2*1c60b9acSAndroid Build Coastguard Worker 3*1c60b9acSAndroid Build Coastguard WorkerThis example shows to to create a "netcat" that copies its stdin to 4*1c60b9acSAndroid Build Coastguard Workera remote socket and prints what is returned in stdout. 5*1c60b9acSAndroid Build Coastguard Worker 6*1c60b9acSAndroid Build Coastguard WorkerIt has some advantage over the real netcat, it will wait 1s after stdin closes 7*1c60b9acSAndroid Build Coastguard Workerto print results that are in flight. 8*1c60b9acSAndroid Build Coastguard Worker 9*1c60b9acSAndroid Build Coastguard Worker## build 10*1c60b9acSAndroid Build Coastguard Worker 11*1c60b9acSAndroid Build Coastguard Worker``` 12*1c60b9acSAndroid Build Coastguard Worker $ cmake . && make 13*1c60b9acSAndroid Build Coastguard Worker``` 14*1c60b9acSAndroid Build Coastguard Worker 15*1c60b9acSAndroid Build Coastguard Worker## usage 16*1c60b9acSAndroid Build Coastguard Worker 17*1c60b9acSAndroid Build Coastguard Worker``` 18*1c60b9acSAndroid Build Coastguard Worker $ echo -e -n "GET / http/1.1\r\n\r\n"| ./lws-minimal-raw-netcat 19*1c60b9acSAndroid Build Coastguard Worker[2018/05/02 08:53:53:2665] USER: LWS minimal raw netcat [--server ip] [--port port] 20*1c60b9acSAndroid Build Coastguard Worker[2018/05/02 08:53:53:2667] NOTICE: Creating Vhost 'default' (no listener), 1 protocols, IPv6 off 21*1c60b9acSAndroid Build Coastguard Worker[2018/05/02 08:53:53:2703] USER: Starting connect... 22*1c60b9acSAndroid Build Coastguard Worker[2018/05/02 08:53:53:5644] USER: Connected to libwebsockets.org:80... 23*1c60b9acSAndroid Build Coastguard Worker[2018/05/02 08:53:53:5645] USER: LWS_CALLBACK_RAW_ADOPT 24*1c60b9acSAndroid Build Coastguard Worker[2018/05/02 08:53:53:5645] USER: LWS_CALLBACK_RAW_ADOPT_FILE 25*1c60b9acSAndroid Build Coastguard Worker[2018/05/02 08:53:53:5646] USER: LWS_CALLBACK_RAW_RX_FILE 26*1c60b9acSAndroid Build Coastguard Worker[2018/05/02 08:53:53:5646] USER: LWS_CALLBACK_RAW_CLOSE_FILE 27*1c60b9acSAndroid Build Coastguard Worker[2018/05/02 08:53:53:8600] USER: LWS_CALLBACK_RAW_RX (186) 28*1c60b9acSAndroid Build Coastguard WorkerHTTP/1.1 301 Redirect 29*1c60b9acSAndroid Build Coastguard Workerserver: lwsws 30*1c60b9acSAndroid Build Coastguard WorkerStrict-Transport-Security: max-age=15768000 ; includeSubDomains 31*1c60b9acSAndroid Build Coastguard Workerlocation: https://libwebsockets.org 32*1c60b9acSAndroid Build Coastguard Workercontent-type: text/html 33*1c60b9acSAndroid Build Coastguard Workercontent-length: 0 34*1c60b9acSAndroid Build Coastguard Worker 35*1c60b9acSAndroid Build Coastguard Worker``` 36*1c60b9acSAndroid Build Coastguard Worker 37*1c60b9acSAndroid Build Coastguard WorkerNote the example does everything itself, after 5s idle the remote server closes the connection 38*1c60b9acSAndroid Build Coastguard Workerafter which the example continues until you ^C it. 39