TsgcTCPClient › Olaylar › OnBeforeWatchDog
Her WatchDog yeniden bağlanma denemesinden önce tetiklenir, böylece uygulama hedef sunucuyu ayarlayabilir veya yeniden denemeyi engelleyebilir.
property OnBeforeWatchDog: TsgcWSOnBeforeWatchDogEvent;
// TsgcWSOnBeforeWatchDogEvent = procedure(Sender: TObject; var Handled: Boolean) of object
—
WatchDog etkinleştirildiğinde ve beklenmedik bir bağlantı kesilmesi algılandığında, istemci WatchDog.Interval saniye bekler ve ardından yeniden bağlanmaya çalışır. OnBeforeWatchDog her denemeden hemen önce tetiklenir, bu da uygulamanın, birkaç başarısız denemeden sonra ikincil bir sunucuya geçmek gibi yedekleme mantığı uygulamak için sunucu bağlantı özelliklerini (Host, Port, TLS...) değiştirmesine olanak tanır. Handled'ı True olarak ayarlamak, bu döngü için yeniden bağlanma denemesini iptal eder; False bırakmak (varsayılan) WatchDog'un yeniden bağlanmayla devam etmesine izin verir.
procedure OnBeforeWatchDog(Sender: TObject; var Handled: Boolean);
var
oClient: TsgcTCPClient;
begin
oClient := TsgcTCPClient(Sender);
if oClient.WatchDog.AttemptsCount > 3 then
oClient.Host := 'fallback.example.com';
Handled := False;
end;