TsgcTCPClient › Olaylar › OnBeforeHeartBeat
Uygulamanın özel bir keep-alive yükü gönderebilmesi için her HeartBeat tıklamasından önce tetiklenir.
property OnBeforeHeartBeat: TsgcWSOnBeforeHeartBeatEvent;
// TsgcWSOnBeforeHeartBeatEvent = procedure(Sender: TObject; const Connection: TsgcWSConnection; var Handled: Boolean) of object
—
HeartBeat etkinleştirildiğinde, istemci TCP bağlantısını canlı tutmak için her HeartBeat.Interval saniyesinde uyanır. Düz TCP taşımasında yerleşik bir ping çerçevesi olmadığından, varsayılan heartbeat işlemsizdir ve uygulamanın eşin beklediği yükü (örneğin protokole özgü bir keep-alive paketi) yaymasının beklendiği anlamına gelir. OnBeforeHeartBeat her tikte tetiklenir, böylece uygulama bu yükü sağlanan Connection aracılığıyla yazabilir; Handled'ı True olarak ayarlamak yalnızca uygulamanın heartbeat ile ilgilendiğini belgeler ve gönderilecek varsayılan bir paket olmadığından False olarak bırakmak eşdeğerdir.
procedure OnBeforeHeartBeat(Sender: TObject; const Connection: TsgcWSConnection;
var Handled: Boolean);
begin
Connection.WriteData('PING' + #13#10);
Handled := True;
end;