TsgcTCPClient › Właściwości › HeartBeat
Wyzwala cykliczny heartbeat na poziomie aplikacji, aby utrzymać aktywność połączenia i wykrywać przestoje.
property HeartBeat: TsgcWSHeartBeat_Options read GetHeartBeat write SetHeartBeat;
Enabled=False
Gdy właściwość HeartBeat.Enabled ma wartość True, klient wywołuje zdarzenie OnBeforeHeartBeat co Interval sekund, umożliwiając wysłanie zdefiniowanego przez aplikację sygnału przez surową sesję TCP. Ponieważ klient nie obsługuje protokołu WebSocket, nie dysponuje wbudowaną ramką ping; procedura obsługi zdarzenia powinna emitować bajty keep-alive odpowiednie dla używanego formatu danych. Timeout określa maksymalną liczbę sekund między wysłaniem sygnału a otrzymaniem odpowiedzi, po której połączenie jest zamykane (0 wyłącza sprawdzanie), natomiast HeartBeatType wybiera tryb hbtAlways (wywoływanie co każdy interwał) lub hbtOnlyIfNoMsgRcvInterval (tylko gdy w ostatnim interwale nie odebrano żadnej wiadomości). Nie jest to powiązane z sondami TCPKeepAlive na poziomie systemu operacyjnego.
oTCP := TsgcTCPClient.Create(nil);
oTCP.HeartBeat.Interval := 30;
oTCP.HeartBeat.Timeout := 0;
oTCP.HeartBeat.Enabled := true;
oTCP.Active := true;