TsgcWSPClient_MQTT › 属性 › HeartBeat
定期发送 MQTT PINGREQ 数据包以保持会话活跃,并检测代理的静默断开。
property HeartBeat: TsgcWSMQTTHeartBeat_Options read FHeartBeat write SetHeartBeat;
Enabled=True, Interval=300, Timeout=0
默认情况下启用心跳。当 HeartBeat.Enabled 为 True 时,客户端每隔 Interval 秒发送一个 MQTT PINGREQ,并期望收到 PINGRESP 作为回应,同时更新 CONNECT 中协商的代理 Keep Alive 计时器。Timeout 是客户端等待 PINGRESP 的秒数,超过后关闭连接;设为 0 可禁用超时检查。ping 流量是 MQTT 数据包(而非 WebSocket ping 帧),因此在任何 WebSocket 或原始 TCP 传输上均表现一致。收到 PINGRESP 时触发 OnMQTTPing 事件。
MQTT.HeartBeat.Enabled := True;
MQTT.HeartBeat.Interval := 60;
MQTT.HeartBeat.Timeout := 30;