TsgcWebSocketProxyServer › Gebeurtenissen › OnBeforeHeartBeat
Wordt geactiveerd vóór elke HeartBeat-ping zodat de applicatie een aangepaste keep-alive kan implementeren voor een downstream WebSocket-client.
property OnBeforeHeartBeat: TsgcWSOnBeforeHeartBeatEvent;
// TsgcWSOnBeforeHeartBeatEvent = procedure(Sender: TObject; const Connection: TsgcWSConnection; var Handled: Boolean) of object
—
Wanneer HeartBeat is ingeschakeld, stuurt de proxyserver elke HeartBeat.Interval seconden een standaard WebSocket-ping naar elke verbonden downstream-client. OnBeforeHeartBeat wordt onmiddellijk vóór die ping voor elke verbinding geactiveerd zodat de toepassing zijn eigen keep-alive-payload kan verzenden op de opgegeven Connection. Het instellen van Handled op True onderdrukt de standaard ping voor deze cyclus; het op False laten staan (de standaard) laat de standaard ping verzenden nadat de handler terugkeert. Gebruik het om protocolspecifieke heartbeats te implementeren of om de payload per verbinding te variëren; alleen de WebSocket-poot wordt hier gepingd, de upstream TCP-verbinding wordt niet aangeraakt door deze gebeurtenis.
procedure OnBeforeHeartBeat(Sender: TObject; const Connection: TsgcWSConnection;
var Handled: Boolean);
begin
Connection.WriteData('ping');
Handled := True;
end;