TsgcWebSocketServer_HTTPAPI › Zdarzenia › OnBeforeHeartBeat
Wywoływane przed każdym pingiem HeartBeat, umożliwiając aplikacji implementację niestandardowego mechanizmu utrzymywania połączenia.
property OnBeforeHeartBeat: TsgcWSOnBeforeHeartBeatEvent;
// TsgcWSOnBeforeHeartBeatEvent = procedure(Sender: TObject; const Connection: TsgcWSConnection; var Handled: Boolean) of object
—
Gdy funkcja HeartBeat jest włączona, serwer wysyła standardowy ping WebSocket do każdego połączonego klienta co HeartBeat.Interval sekund. Zdarzenie OnBeforeHeartBeat jest wywoływane bezpośrednio przed zapisaniem tego pingu dla każdego połączenia, dzięki czemu aplikacja może wysłać własny ładunek keep-alive przez dostarczone połączenie Connection. Ustawienie właściwości Handled na True pomija domyślny ping w tym cyklu; pozostawienie wartości False (domyślnie) umożliwia wysłanie standardowego pingu po powrocie z procedury obsługi. Umożliwia to implementację specyficznych dla protokołu heartbeatów lub zróżnicowanie ładunku w zależności od połączenia.
procedure OnBeforeHeartBeat(Sender: TObject; const Connection: TsgcWSConnection;
var Handled: Boolean);
begin
Connection.WriteData('ping');
Handled := True;
end;