TsgcTCPClient › Eventi › OnBeforeHeartBeat

OnBeforeHeartBeat Evento

Si attiva prima di ogni tick di HeartBeat in modo che l'applicazione possa inviare un payload keep-alive personalizzato.

Sintassi

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

Valore predefinito

—

Note

Quando HeartBeat è abilitato, il client si attiva ogni HeartBeat.Interval secondi per mantenere attiva la connessione TCP. Poiché il trasporto TCP puro non dispone di un frame ping integrato, l'heartbeat predefinito è un no-op e l'applicazione deve emettere qualsiasi payload atteso dal peer (ad esempio un pacchetto keep-alive specifico del protocollo). OnBeforeHeartBeat viene generato a ogni tick affinché l'applicazione possa scrivere quel payload attraverso la Connection fornita; impostare Handled a True documenta semplicemente che l'applicazione si è occupata dell'heartbeat; lasciarlo a False è equivalente poiché non vi è alcun pacchetto predefinito da inviare.

Esempio


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

Torna agli Eventi