TsgcWebSocketClientEreignisse › 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, was es der Anwendung ermöglicht, die Serververbindungseigenschaften (Host, Port, URL, TLS...) zu ändern, um eine Fallback-Logik wie das Umschalten auf einen Sekundärserver nach mehreren fehlgeschlagenen Versuchen zu implementieren. Das Setzen von Handled auf True bricht den Wiederverbindungsversuch für diesen Zyklus ab; wird es auf False (Standard) belassen, fährt der WatchDog mit der Wiederverbindung fort.

Beispiel


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;

Zurück zu Ereignissen