TsgcWebSocketClient › Événements › OnBeforeWatchDog
Se déclenche avant chaque tentative de reconnexion WatchDog afin que l'application puisse ajuster le serveur cible ou supprimer la tentative.
property OnBeforeWatchDog: TsgcWSOnBeforeWatchDogEvent;
// TsgcWSOnBeforeWatchDogEvent = procedure(Sender: TObject; var Handled: Boolean) of object
—
Lorsque WatchDog est activé et qu'une déconnexion inattendue est détectée, le client attend WatchDog.Interval secondes puis tente de se reconnecter. OnBeforeWatchDog est déclenché juste avant chaque tentative, ce qui permet à l'application de modifier les propriétés de connexion au serveur (Host, Port, URL, TLS...) pour implémenter une logique de basculement telle que le passage à un serveur secondaire après plusieurs tentatives infructueuses. Définir Handled à True annule la tentative de reconnexion pour ce cycle ; laisser False (la valeur par défaut) permet au WatchDog de procéder à la reconnexion.
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;