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 또는 raw-TCP 전송을 동일하게 통과합니다. PINGRESP가 수신되면 OnMQTTPing 이벤트가 발생합니다.
MQTT.HeartBeat.Enabled := True;
MQTT.HeartBeat.Interval := 60;
MQTT.HeartBeat.Timeout := 30;