TsgcTCPClient › Ereignisse › OnBeforeWatchDog

OnBeforeWatchDog Ereignis

Wird vor jedem WatchDog-Wiederverbindungsversuch ausgelöst, sodass die Anwendung den Zielserver anpassen oder den Wiederholungsversuch unterdrücken kann.

Syntax

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

Standardwert

—

Hinweise

Wenn WatchDog aktiviert ist und eine unerwartete Trennung erkannt wird, wartet der Client WatchDog.Interval Sekunden und versucht dann, die Verbindung wiederherzustellen. OnBeforeWatchDog wird unmittelbar vor jedem Versuch ausgelöst, sodass die Anwendung die Verbindungseigenschaften (Host, Port, TLS...) ändern kann, um eine Fallback-Logik zu implementieren, etwa den Wechsel zu einem sekundären Server nach mehreren fehlgeschlagenen Versuchen. Das Setzen von Handled auf True bricht den Wiederverbindungsversuch für diesen Zyklus ab; wenn Sie es auf False belassen (Standard), führt der WatchDog die Wiederverbindung durch.

Beispiel


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;

Zurück zu Ereignissen