TsgcWebSocketClient › Ereignisse › OnBeforeWatchDog
Wird vor jedem WatchDog-Wiederverbindungsversuch ausgelöst, sodass die Anwendung den Zielserver anpassen oder den Wiederholungsversuch unterdrücken kann.
property OnBeforeWatchDog: TsgcWSOnBeforeWatchDogEvent;
// TsgcWSOnBeforeWatchDogEvent = procedure(Sender: TObject; var Handled: Boolean) of object
—
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.
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;