TsgcWebSocketHTTPServerWłaściwości › HeartBeat

HeartBeat Właściwość

Wysyła okresowe ramki ping w celu utrzymania bezczynnych połączeń klienta i wykrywania nieaktywnych węzłów.

Składnia

property HeartBeat: TsgcWSHeartBeat_Options read GetHeartBeat write SetHeartBeat;

Wartość domyślna

Enabled=False

Uwagi

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ą.

Przykład


oServer := TsgcWebSocketHTTPServer.Create(nil);
oServer.HeartBeat.Interval := 30;
oServer.HeartBeat.Timeout := 0;
oServer.HeartBeat.Enabled := true;
oServer.Active := true;

Wróć do Właściwości