TsgcTCPClient › É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, TLS...) pour implémenter une logique de basculement, comme passer à un serveur secondaire après plusieurs tentatives échouées. Définir Handled à True annule la tentative de reconnexion pour ce cycle ; laisser False (par défaut) permet au WatchDog de procéder à la reconnexion.
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;