TsgcWebSocketServer_HTTPAPI › Events › OnBeforeHeartBeat
Wordt geactiveerd vóór elke HeartBeat-ping zodat de toepassing een aangepaste keep-alive kan implementeren.
property OnBeforeHeartBeat: TsgcWSOnBeforeHeartBeatEvent;
// TsgcWSOnBeforeHeartBeatEvent = procedure(Sender: TObject; const Connection: TsgcWSConnection; var Handled: Boolean) of object
—
Wanneer HeartBeat is ingeschakeld, stuurt de server elke HeartBeat.Interval seconden een standaard WebSocket-ping naar elke verbonden client. OnBeforeHeartBeat wordt onmiddellijk geactiveerd voordat die ping voor elke verbinding wordt geschreven, zodat de toepassing zijn eigen keep-alive-payload kan verzenden op de opgegeven verbinding. Het instellen van Handled op True onderdrukt de standaard-ping voor deze cyclus; het op False laten (de standaard) laat de standaard-ping worden verstuurd nadat de handler terugkeert. Gebruik dit om protocol-specifieke heartbeats te implementeren of om de payload per verbinding te variëren.
procedure OnBeforeHeartBeat(Sender: TObject; const Connection: TsgcWSConnection;
var Handled: Boolean);
begin
Connection.WriteData('ping');
Handled := True;
end;