TsgcWebSocketProxyServer › Events › OnBeforeHeartBeat

OnBeforeHeartBeat Zdarzenie

Wywoływane przed każdym pingiem HeartBeat, co pozwala aplikacji zaimplementować niestandardowe podtrzymanie połączenia dla podrzędnego klienta WebSocket.

Składnia

property OnBeforeHeartBeat: TsgcWSOnBeforeHeartBeatEvent;
// TsgcWSOnBeforeHeartBeatEvent = procedure(Sender: TObject; const Connection: TsgcWSConnection; var Handled: Boolean) of object

Wartość domyślna

—

Uwagi

Gdy HeartBeat jest włączony, serwer proxy wysyła standardowy ping WebSocket do każdego połączonego klienta downstream 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 emitować własny ładunek keep-alive przez przekazane połączenie Connection. Ustawienie Handled na True pomija domyślny ping dla danego cyklu; pozostawienie wartości False (domyślnie) powoduje wysłanie standardowego pingu po powrocie procedury obsługi. Zdarzenia tego można używać do implementacji pulsów właściwych dla protokołu lub do różnicowania ładunku według połączenia; pingowane jest wyłącznie łącze WebSocket — połączenie TCP upstream nie jest dotykane przez to zdarzenie.

Przykład


procedure OnBeforeHeartBeat(Sender: TObject; const Connection: TsgcWSConnection;
  var Handled: Boolean);
begin
  Connection.WriteData('ping');
  Handled := True;
end;

Powrót do Zdarzeń