TsgcTCPClient › Événements › OnBeforeWatchDog

OnBeforeWatchDog Événement

Se déclenche avant chaque tentative de reconnexion WatchDog afin que l'application puisse ajuster le serveur cible ou supprimer la tentative.

Syntaxe

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

Valeur par défaut

—

Remarques

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.

Exemple


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;

Retour aux événements