TsgcWebSocketHTTPServer › Właściwości › HeartBeat
Wysyła okresowe ramki ping w celu utrzymania bezczynnych połączeń klienta i wykrywania nieaktywnych węzłów.
property HeartBeat: TsgcWSHeartBeat_Options read GetHeartBeat write SetHeartBeat;
Enabled=False
Gdy właściwość HeartBeat.Enabled ma wartość True, serwer wysyła ping do każdego połączonego klienta co Interval sekund. Właściwość Timeout umożliwia zamknięcie połączeń z partnerami, którzy nie odpowiedzą pongiem w podanej liczbie sekund (0 wyłącza sprawdzanie). Właściwość HeartBeatType wybiera strategię: wartość hbtAlways zawsze wysyła ping w każdym interwale, natomiast hbtOnlyIfNoMsgRcvInterval wysyła ping tylko wtedy, gdy w ostatnim interwale nie odebrano żadnej wiadomości (przy iohDefault ping jest wysyłany w kontekście wątku połączenia, nie wątku sprawdzającego). Zdarzenie OnBeforeHeartBeat pozwala zastąpić standardowy ping niestandardową wiadomością.
oServer := TsgcWebSocketHTTPServer.Create(nil);
oServer.HeartBeat.Interval := 30;
oServer.HeartBeat.Timeout := 0;
oServer.HeartBeat.Enabled := true;
oServer.Active := true;