KeepAliveInterval Property

The maximum period of inactivity the class will allow before sending a keep-alive packet.

Syntax

ANSI (Cross Platform)
int GetKeepAliveInterval();
int SetKeepAliveInterval(int iKeepAliveInterval); Unicode (Windows) INT GetKeepAliveInterval();
INT SetKeepAliveInterval(INT iKeepAliveInterval);
@property (nonatomic,readwrite,assign,getter=keepAliveInterval,setter=setKeepAliveInterval:) int keepAliveInterval;
- (int)keepAliveInterval;
- (void)setKeepAliveInterval:(int)newKeepAliveInterval;
#define PID_MQTT_KEEPALIVEINTERVAL 25

IPWORKSIOT_EXTERNAL void* IPWORKSIOT_CALL IPWorksIoT_MQTT_Get(void *lpObj, int propid, int arridx, int *lpcbVal, int64 *lpllVal);
IPWORKSIOT_EXTERNAL int IPWORKSIOT_CALL IPWorksIoT_MQTT_Set(void *lpObj, int propid, int arridx, const void *val, int cbVal);

Default Value

0

Remarks

The KeepAliveInterval, if set to a non-zero value, is the maximum number of seconds that the class will allow the connection to be idle before sending a PINGREQ (ping request) packet to the server. The value of KeepAliveInterval is sent to the server when Connect is called; it cannot be changed when the class is already connected.

MQTT servers are required to measure periods of inactivity for all clients who specify a non-zero KeepAliveInterval, and must disconnect them if they have not communicated within 1.5 times KeepAliveInterval.

Similarly, if the class doesn't receive a PINGRESP (ping response) packet within KeepAliveInterval seconds after sending a PINGREQ packet, it will disconnect from the server.

If KeepAliveInterval is set to 0 (default), keep-alive functionality is disabled entirely. In this case, the class will not send any PINGREQ packets, and the server is not required to close the connection due to inactivity.

Note that, regardless of keep-alive settings, the server is always free to disconnect clients it deems "unresponsive".

This property is not available at design time.

Data Type

Integer

Copyright (c) 2022 /n software inc. - All rights reserved.
IPWorks IoT 2020 C++ Edition - Version 20.0 [Build 8265]