TsgcTCPClient › Olaylar › OnBeforeWatchDog

OnBeforeWatchDog Olay

Her WatchDog yeniden bağlanma denemesinden önce tetiklenir, böylece uygulama hedef sunucuyu ayarlayabilir veya yeniden denemeyi engelleyebilir.

Sözdizimi

property OnBeforeWatchDog: TsgcWSOnBeforeWatchDogEvent;
// TsgcWSOnBeforeWatchDogEvent = procedure(Sender: TObject; var Handled: Boolean) of object

Varsayılan Değer

—

Remarks

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.

Örnek


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;

Olaylara Dön