GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
COAP_KEEPALIVE(3) libcoap Manual COAP_KEEPALIVE(3)

coap_keepalive, coap_context_set_keepalive - Work with CoAP keepalive

#include <coap3/coap.h>

void coap_context_set_keepalive(coap_context_t *context, unsigned int seconds);

For specific (D)TLS library support, link with -lcoap-3-notls, -lcoap-3-gnutls, -lcoap-3-openssl, -lcoap-3-mbedtls or -lcoap-3-tinydtls. Otherwise, link with -lcoap-3 to get the default (D)TLS library support.

There may be a requirement to send out keepalive traffic when the CoAP session is idle (no packets have been sent or received for a specified period) to keep, say, an interim NAT device "warm" with the NAT translation state, or to periodically check whether the device at the other end of the session has "gone away".

For UDP/DTLS, this is done with the confirmable CoAP (0.00) Ping packet, which solicits a CoAP RST response. For TCP/TLS, this is done with CoAP (7.02) Ping packet, which solicits a CoAP (7.03) Pong response, all handled by libcoap.

The coap_context_set_keepalive() function needs to be called to update the context with the keepalive for idle traffic timeout of seconds. If seconds is set to 0 (the default), then the sending of keepalives is disabled. Any sessions created from this context will use the same seconds value to determine whether a keepalive "ping" is to be sent out or not.

Applications can track the usage of the receipt of "pings" and receipt of "responses" by defining the respective handlers to use by using coap_register_ping_handler() and coap_register_pong_handler().

If the keepalive fails to solicit a response, then this can be tracked by defining the handler to use by using coap_register_nack_handler() which will be called with a reason of COAP_NACK_TOO_MANY_RETRIES.

NOTE: coap_context_set_keepalive() is supported by both the CoAP client and CoAP server.

coap_handler(3)

"RFC7252: The Constrained Application Protocol (CoAP)"

"RFC8323: CoAP (Constrained Application Protocol) over TCP, TLS, and WebSockets"

Please report bugs on the mailing list for libcoap: libcoap-developers@lists.sourceforge.net or raise an issue on GitHub at https://github.com/obgm/libcoap/issues

The libcoap project <libcoap-developers@lists.sourceforge.net>
04/13/2022 coap_keepalive 4.3.0

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.