TsgcTCPClient › Eventos › OnBeforeHeartBeat

OnBeforeHeartBeat Evento

Se activa antes de cada tick de HeartBeat para que la aplicación pueda enviar un payload de keep-alive personalizado.

Sintaxis

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

Valor Predeterminado

—

Observaciones

Cuando HeartBeat está habilitado, el cliente se activa cada HeartBeat.Interval segundos para mantener viva la conexión TCP. Dado que el transporte TCP plano no dispone de ningún frame ping incorporado, el heartbeat predeterminado no realiza ninguna operación y se espera que la aplicación emita la carga útil que el par espera (por ejemplo, un paquete keep-alive específico del protocolo). OnBeforeHeartBeat se lanza en cada tick para que la aplicación pueda escribir esa carga útil a través del Connection suministrado; establecer Handled en True simplemente documenta que la aplicación se encargó del heartbeat y dejarlo en False es equivalente porque no hay ningún paquete predeterminado que enviar.

Ejemplo


procedure OnBeforeHeartBeat(Sender: TObject; const Connection: TsgcWSConnection;
  var Handled: Boolean);
begin
  Connection.WriteData('PING' + #13#10);
  Handled := True;
end;

Volver a Eventos