TsgcWebSocketHTTPServer › Eventos › OnBeforeHeartBeat
Se activa antes de cada ping de HeartBeat para que la aplicación pueda implementar un keep-alive personalizado.
property OnBeforeHeartBeat: TsgcWSOnBeforeHeartBeatEvent;
// TsgcWSOnBeforeHeartBeatEvent = procedure(Sender: TObject; const Connection: TsgcWSConnection; var Handled: Boolean) of object
—
Cuando HeartBeat está habilitado, el servidor envía un ping estándar WebSocket a cada cliente conectado cada HeartBeat.Interval segundos. OnBeforeHeartBeat se activa inmediatamente antes de que dicho ping se escriba para cada conexión, de modo que la aplicación pueda emitir su propio payload de keep-alive en la Connection suministrada. Establecer Handled en True suprime el ping predeterminado para este ciclo; dejarlo en False (el valor predeterminado) permite que el ping estándar se envíe después de que el manejador retorne. Úselo para implementar heartbeats específicos del protocolo o para variar el payload por conexión.
procedure OnBeforeHeartBeat(Sender: TObject; const Connection: TsgcWSConnection;
var Handled: Boolean);
begin
Connection.WriteData('ping');
Handled := True;
end;