TsgcWebSocketServer_HTTPAPI › Właściwości › HeartBeat
Wysyła okresowe ramki ping w celu utrzymania przy życiu bezczynnych połączeń WebSocket i wykrywania nieaktywnych partnerów.
property HeartBeat: TsgcWSHeartBeat_Options read GetHeartBeat write SetHeartBeat;
Enabled=False
Gdy HeartBeat.Enabled ma wartość True, serwer wysyła ping do każdego połączonego klienta co Interval sekund. Należy użyć Timeout, aby zamykać połączenia z równorzędnymi punktami, które nie odpowiadają pongiem w ciągu podanej liczby sekund (0 wyłącza sprawdzanie). Zdarzenie OnBeforeHeartBeat pozwala zastąpić standardowy ping niestandardową wiadomością przez ustawienie parametru Handled na True. Heartbeaty są szczególnie ważne na chmurowych load balancerach i urządzeniach NAT, które po cichu zamykają bezczynne połączenia TCP.
oServer := TsgcWebSocketServer_HTTPAPI.Create(nil);
oServer.HeartBeat.Interval := 30;
oServer.HeartBeat.Timeout := 0;
oServer.HeartBeat.Enabled := true;
oServer.Active := true;