1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-16 00:00:07 +01:00
libwebsockets/minimal-examples/ws-server/minimal-ws-server-timer/README.md
Andy Green 2f4316527b sul: more paranoid casting vs libc header types
As it is, if time_t is 32-bit on the platform it might lead to
arithmetic overflow, so force it to lws_usec_t (uint64_t) even
though it works OK here on x86_64.

Add a minimal example aimed at testing the wsi hrtimer stability
consistently across platforms.

Add and disable by default hrtimer dump code (this is too expensive
and specific to internal testing to leave in for debug mode even if
it's not printed).  If you hack it enabled, it will dump the sul
list for the pt and assert if the list is disordered.
2019-10-27 06:22:13 +00:00

983 B

lws minimal ws server timer

This is designed to confirm long term stability of ws timers on a particular platform.

build

 $ cmake . && make

Commandline Options

Option Meaning
-d Set logging verbosity
-s Serve using TLS selfsigned cert (ie, connect to it with https://...)
-h Strict Host: header checking against vhost name (localhost) and port
-v Connection validity use 3s / 10s instead of default 5m / 5m10s

usage

 $ ./lws-minimal-ws-server-timer
[2018/03/04 09:30:02:7986] USER: LWS minimal ws server | visit http://localhost:7681
[2018/03/04 09:30:02:7986] NOTICE: Creating Vhost 'default' port 7681, 1 protocols, IPv6 on

Visit http://localhost:7681 and the browser will connect back to the test server, you'll see ESTABLISHED logged. That triggers a TIMER event at 20s intervals which sets the wsi timeout to 60s. It should just stay like that forever doing the TIMER events at 20s intervals and not sending any traffic either way.