TsgcWebSocketClient › 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ğlanmayı dener. OnBeforeWatchDog, her denemeden hemen önce tetiklenir, bu da uygulamanın sunucu bağlantı özelliklerini (Host, Port, URL, TLS...) değiştirmesine olanak tanır, böylece birkaç başarısız denemeden sonra ikincil bir sunucuya geçme gibi yedek mantığı uygulanabilir. Handled değerini True olarak ayarlamak, bu döngü için yeniden bağlanma denemesini iptal eder; False bırakmak (varsayılan) WatchDog'un yeniden bağlanmaya devam etmesine izin verir.
procedure OnBeforeWatchDog(Sender: TObject; var Handled: Boolean);
var
oClient: TsgcWebSocketClient;
begin
oClient := TsgcWebSocketClient(Sender);
if oClient.WatchDog.AttemptsCount > 3 then
oClient.Host := 'fallback.example.com';
Handled := False;
end;