TsgcWebSocketProxyServer › Ereignisse › OnBeforeHeartBeat

OnBeforeHeartBeat Ereignis

Wird vor jedem HeartBeat-Ping ausgelöst, sodass die Anwendung ein benutzerdefiniertes Keep-Alive für einen Downstream-WebSocket-Client implementieren kann.

Syntax

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

Standardwert

—

Hinweise

Wenn HeartBeat aktiviert ist, sendet der Proxy-Server alle HeartBeat.Interval Sekunden einen standardmäßigen WebSocket-Ping an jeden verbundenen Downstream-Client. OnBeforeHeartBeat wird unmittelbar vor dem Schreiben dieses Pings für jede Verbindung ausgelöst, sodass die Anwendung ihr eigenes Keep-Alive-Payload auf der bereitgestellten Connection ausgeben kann. Das Setzen von Handled auf True unterdrückt den Standard-Ping für diesen Zyklus; das Belassen auf False (der Standard) lässt den Standard-Ping nach Rückkehr des Handlers senden. Verwenden Sie es, um protokollspezifische Heartbeats zu implementieren oder das Payload pro Verbindung zu variieren; nur die WebSocket-Strecke wird hier gepingt, die Upstream-TCP-Verbindung wird von diesem Ereignis nicht berührt.

Beispiel


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

Zurück zu Ereignissen