TsgcTCPClient › Eventos › OnBeforeHeartBeat

OnBeforeHeartBeat Event

Disparado antes de cada tick do HeartBeat para que a aplicação possa enviar um payload keep-alive personalizado.

Sintaxe

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

Valor Padrão

—

Observações

Quando o HeartBeat está habilitado, o cliente acorda a cada HeartBeat.Interval segundos para manter a conexão TCP viva. Como o transporte TCP puro não tem frame de ping integrado, o heartbeat padrão é um no-op e espera-se que a aplicação emita qualquer payload que o peer espere (por exemplo, um pacote keep-alive específico do protocolo). OnBeforeHeartBeat é gerado a cada tick para que a aplicação possa escrever esse payload através da Connection fornecida; definir Handled como True simplesmente documenta que a aplicação cuidou do heartbeat e deixá-lo como False é equivalente, porque não há pacote padrão a enviar.

Exemplo


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

Voltar para Eventos