TsgcWebSocketServer › Ereignisse › OnBeforeHeartBeat
Wird vor jedem HeartBeat-Ping ausgelöst, sodass die Anwendung ein benutzerdefiniertes Keep-Alive implementieren kann.
property OnBeforeHeartBeat: TsgcWSOnBeforeHeartBeatEvent;
// TsgcWSOnBeforeHeartBeatEvent = procedure(Sender: TObject; const Connection: TsgcWSConnection; var Handled: Boolean) of object
—
Wenn HeartBeat aktiviert ist, sendet der Server alle HeartBeat.Interval Sekunden ein standardmäßiges WebSocket-Ping an jeden verbundenen Client. OnBeforeHeartBeat wird unmittelbar bevor dieses Ping für jede Verbindung geschrieben wird ausgelöst, sodass die Anwendung ihre eigene Keep-Alive-Nutzlast auf der angegebenen Connection ausgeben kann. Das Setzen von Handled auf True unterdrückt das Standard-Ping für diesen Zyklus; wird es auf False (Standard) belassen, wird das Standard-Ping nach der Rückkehr des Handlers gesendet. Verwenden Sie es, um protokollspezifische Heartbeats zu implementieren oder die Nutzlast pro Verbindung zu variieren.
procedure OnBeforeHeartBeat(Sender: TObject; const Connection: TsgcWSConnection;
var Handled: Boolean);
begin
Connection.WriteData('ping');
Handled := True;
end;