TsgcWSPClient_MQTT › Właściwości › HeartBeat
Wysyła pakiety MQTT PINGREQ cyklicznie, aby utrzymać sesję w aktywnym stanie i wykryć ciche rozłączenia brokera.
property HeartBeat: TsgcWSMQTTHeartBeat_Options read FHeartBeat write SetHeartBeat;
Enabled=True, Interval=300, Timeout=0
Mechanizm Heartbeat jest domyślnie włączony. Gdy właściwość HeartBeat.Enabled ma wartość True, klient wysyła pakiet MQTT PINGREQ co Interval sekund i oczekuje odpowiedzi PINGRESP, która aktualizuje również licznik Keep Alive brokera wynegocjowany w ramach CONNECT. Timeout to liczba sekund, przez które klient czeka na PINGRESP przed zamknięciem połączenia; ustawienie wartości 0 wyłącza sprawdzanie limitu czasu. Ruch ping jest pakietem MQTT (nie ramką ping WebSocket), więc przebiega identycznie przez dowolny transport WebSocket lub raw TCP. Zdarzenie OnMQTTPing jest wywoływane po odebraniu pakietu PINGRESP.
MQTT.HeartBeat.Enabled := True;
MQTT.HeartBeat.Interval := 60;
MQTT.HeartBeat.Timeout := 30;