TsgcTCPClient › Properties › HeartBeat
Löst einen periodischen Heartbeat auf Anwendungsebene aus, um die Verbindung aufrechtzuerhalten und Stillstände zu erkennen.
property HeartBeat: TsgcWSHeartBeat_Options read GetHeartBeat write SetHeartBeat;
Enabled=False
Wenn HeartBeat.Enabled True ist, löst der Client das Ereignis OnBeforeHeartBeat alle Interval Sekunden aus, sodass Sie eine anwendungsdefinierte Prüfung über die rohe TCP-Sitzung schreiben können. Da der Client das WebSocket-Protokoll nicht spricht, hat er keinen integrierten Ping-Frame zum Senden; verwenden Sie den Ereignishandler, um die Keep-Alive-Bytes auszugeben, die Ihr Wire-Format erwartet. Timeout ist die maximale Anzahl Sekunden zwischen der ausgehenden Prüfung und einer Antwort, bevor die Verbindung geschlossen wird (0 deaktiviert die Prüfung), und HeartBeatType wählt hbtAlways (in jedem Intervall auslösen) oder hbtOnlyIfNoMsgRcvInterval (nur wenn während des letzten Intervalls keine Nachricht empfangen wurde). Dies steht in keinem Zusammenhang mit den OS-Level-TCPKeepAlive-Prüfungen.
oTCP := TsgcTCPClient.Create(nil);
oTCP.HeartBeat.Interval := 30;
oTCP.HeartBeat.Timeout := 0;
oTCP.HeartBeat.Enabled := true;
oTCP.Active := true;