1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-16 00:00:07 +01:00
libwebsockets/doc/html
Andy Green f32d25051c ws ping pong on idle connections
This adds a new member to the context creation info struct "ws_ping_pong_interval".

If nonzero, it sets the number of seconds that established ws connections are
allowed to be idle before a PING is forced to be sent.  If zero (the default) then
tracking of idle connection is disabled for backwards compatibility.

Timeouts cover both the period between decision to send the ping and it being
sent (because it needs the socket to become writeable), and the period between
the ping being sent and the PONG coming back.

INFO debug logs are issues when the timeout stuff is operating.

You can test the server side by running the test server hacked to set ws_ping_pong_interval
and debug log mask of 15.  Both the mirror protocol and the server-status protocol are
idle if nothing is happening and will trigger the PING / PONG testing.  (You can also
test using lwsws and /etc/lwsws/conf with "ws-pingpong-secs": "20" in the global section)

For client, run the test client with -n -P 20 for 20s interval.  -n stops the test client
writing using the mirror protocol, so it will be idle and trigger the PING / PONGs.

The timeout interval may be up to +10s late, as lws checks for affected connections every
10s.
2016-08-10 21:20:23 +08:00
..
annotated.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
annotated_dup.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
arrowdown.png documentation convert to doxygen 2016-07-14 08:57:27 +08:00
arrowright.png documentation convert to doxygen 2016-07-14 08:57:27 +08:00
bc_s.png documentation convert to doxygen 2016-07-14 08:57:27 +08:00
bdwn.png documentation convert to doxygen 2016-07-14 08:57:27 +08:00
classes.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
classlws__conn.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
classlws__conn.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
classlws__conn.png documentation convert to doxygen 2016-07-14 08:57:27 +08:00
classlws__conn__listener.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
classlws__conn__listener.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
classlws__conn__listener.png documentation convert to doxygen 2016-07-14 08:57:27 +08:00
closed.png documentation convert to doxygen 2016-07-14 08:57:27 +08:00
deprecated.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
dir_97aefd0d527b934f1d99a682da8fe6a9.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
dir_97aefd0d527b934f1d99a682da8fe6a9.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
dir_e8731c315d086bdbd43ee7d72e0ed36b.html plugin table dirlisting 2016-07-14 08:57:28 +08:00
doc.png documentation convert to doxygen 2016-07-14 08:57:27 +08:00
doxygen.css documentation convert to doxygen 2016-07-14 08:57:27 +08:00
doxygen.png documentation convert to doxygen 2016-07-14 08:57:27 +08:00
dynsections.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
files.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
files.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
folderclosed.png documentation convert to doxygen 2016-07-14 08:57:27 +08:00
folderopen.png documentation convert to doxygen 2016-07-14 08:57:27 +08:00
functions.html ws ping pong on idle connections 2016-08-10 21:20:23 +08:00
functions_func.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
functions_vars.html ws ping pong on idle connections 2016-08-10 21:20:23 +08:00
globals.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
globals_dup.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
globals_enum.html client ssl add flag to control server cert hostname check 2016-07-14 08:57:28 +08:00
globals_eval.html plugin table dirlisting 2016-07-14 08:57:28 +08:00
globals_func.html lws_get_mimetype 2016-07-14 08:57:27 +08:00
globals_l.html plugin table dirlisting 2016-07-14 08:57:28 +08:00
globals_type.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__callback-when-writeable.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__callback-when-writeable.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__cgi.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__client.html ws ping pong on idle connections 2016-08-10 21:20:23 +08:00
group__client.js client ssl add flag to control server cert hostname check 2016-07-14 08:57:28 +08:00
group__context-and-vhost.html plugin table dirlisting 2016-07-14 08:57:28 +08:00
group__context-and-vhost.js ws ping pong on idle connections 2016-08-10 21:20:23 +08:00
group__ev.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__extensions.html plugin table dirlisting 2016-07-14 08:57:28 +08:00
group__extensions.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__fops.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__fops.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__form-parsing.html ws ping pong on idle connections 2016-08-10 21:20:23 +08:00
group__form-parsing.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__generic-sessions.html plugin table dirlisting 2016-07-14 08:57:28 +08:00
group__generic-sessions.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__html-chunked-substitution.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__html-chunked-substitution.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__HTTP-headers-create.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__HTTP-headers-create.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__HTTP-headers-read.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__HTTP-headers-read.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__http.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__http.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__httpft.html lws_get_mimetype 2016-07-14 08:57:27 +08:00
group__httpft.js lws_get_mimetype 2016-07-14 08:57:27 +08:00
group__log.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__log.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__misc.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__misc.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__net.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__net.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__Protocols-and-Plugins.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__Protocols-and-Plugins.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__pur.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__pur.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__sending-data.html ws ping pong on idle connections 2016-08-10 21:20:23 +08:00
group__sending-data.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__service.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__service.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__sha.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__sha.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__smtp.html ws ping pong on idle connections 2016-08-10 21:20:23 +08:00
group__smtp.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__sock-adopt.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__sock-adopt.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__timeout.html ws ping pong on idle connections 2016-08-10 21:20:23 +08:00
group__timeout.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__urlendec.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__urlendec.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__usercb.html plugin table dirlisting 2016-07-14 08:57:28 +08:00
group__usercb.js plugin table dirlisting 2016-07-14 08:57:28 +08:00
group__uv.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__vhost-mounts.html ws ping pong on idle connections 2016-08-10 21:20:23 +08:00
group__vhost-mounts.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__wsclose.html EXTPOLL export LWS_POLLXXX and document .events must be .revents 2016-07-14 08:57:28 +08:00
group__wsclose.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__wsstatus.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
group__wsstatus.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
hierarchy.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
hierarchy.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
index.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
jquery.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
libwebsockets.org-logo.png documentation convert to doxygen 2016-07-14 08:57:27 +08:00
libwebsockets_8h.html ws ping pong on idle connections 2016-08-10 21:20:23 +08:00
libwebsockets_8h.js ws ping pong on idle connections 2016-08-10 21:20:23 +08:00
libwebsockets_8h_source.html ws ping pong on idle connections 2016-08-10 21:20:23 +08:00
lwsgt-overview.png plugin table dirlisting 2016-07-14 08:57:28 +08:00
md_README.build.html doxygen use sections 2016-07-14 08:57:28 +08:00
md_README.coding.html Plugin server-status cleanup 2016-08-10 21:20:23 +08:00
md_README.generic-sessions.html doxygen use sections 2016-07-14 08:57:28 +08:00
md_README.generic-table.html doxygen use sections 2016-07-14 08:57:28 +08:00
md_README.lwsws.html ws ping pong on idle connections 2016-08-10 21:20:23 +08:00
md_README.problems.html plugin table dirlisting 2016-07-14 08:57:28 +08:00
md_README.test-apps.html doxygen use sections 2016-07-14 08:57:28 +08:00
modules.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
modules.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
nav_f.png documentation convert to doxygen 2016-07-14 08:57:27 +08:00
nav_g.png documentation convert to doxygen 2016-07-14 08:57:27 +08:00
nav_h.png documentation convert to doxygen 2016-07-14 08:57:27 +08:00
navtree.css documentation convert to doxygen 2016-07-14 08:57:27 +08:00
navtree.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
navtreedata.js ws ping pong on idle connections 2016-08-10 21:20:23 +08:00
navtreeindex0.js ws ping pong on idle connections 2016-08-10 21:20:23 +08:00
navtreeindex1.js ws ping pong on idle connections 2016-08-10 21:20:23 +08:00
navtreeindex2.js ws ping pong on idle connections 2016-08-10 21:20:23 +08:00
navtreeindex3.js ws ping pong on idle connections 2016-08-10 21:20:23 +08:00
navtreeindex4.js ws ping pong on idle connections 2016-08-10 21:20:23 +08:00
open.png documentation convert to doxygen 2016-07-14 08:57:27 +08:00
pages.html plugin table dirlisting 2016-07-14 08:57:28 +08:00
resize.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
splitbar.png documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__cgi__args.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__cgi__args.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__client__connect__info.html CLIENT_CONNECTION_ERROR add strings 2016-07-14 08:57:27 +08:00
structlws__client__connect__info.js CLIENT_CONNECTION_ERROR add strings 2016-07-14 08:57:27 +08:00
structlws__context__creation__info.html ws ping pong on idle connections 2016-08-10 21:20:23 +08:00
structlws__context__creation__info.js ws ping pong on idle connections 2016-08-10 21:20:23 +08:00
structlws__email.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__email.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__ext__option__arg.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__ext__option__arg.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__ext__options.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__ext__options.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__extension.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__extension.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__gs__event__args.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__gs__event__args.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__http__mount.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__http__mount.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__plat__file__ops.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__plat__file__ops.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__plugin.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__plugin.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__plugin__capability.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__plugin__capability.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__polarssl__context.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__polarssl__context.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__pollargs.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__pollargs.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__pollfd.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__pollfd.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__process__html__args.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__process__html__args.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__process__html__state.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__process__html__state.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__protocol__vhost__options.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__protocol__vhost__options.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__protocols.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__protocols.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__session__info.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__session__info.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__token__limits.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__token__limits.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__tokens.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlws__tokens.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlwsgw__hash.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlwsgw__hash.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlwsgw__hash__bin.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structlwsgw__hash__bin.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structpollfd.html documentation convert to doxygen 2016-07-14 08:57:27 +08:00
structpollfd.js documentation convert to doxygen 2016-07-14 08:57:27 +08:00
sync_off.png documentation convert to doxygen 2016-07-14 08:57:27 +08:00
sync_on.png documentation convert to doxygen 2016-07-14 08:57:27 +08:00
tab_a.png documentation convert to doxygen 2016-07-14 08:57:27 +08:00
tab_b.png documentation convert to doxygen 2016-07-14 08:57:27 +08:00
tab_h.png documentation convert to doxygen 2016-07-14 08:57:27 +08:00
tab_s.png documentation convert to doxygen 2016-07-14 08:57:27 +08:00
tabs.css documentation convert to doxygen 2016-07-14 08:57:27 +08:00