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;