TsgcTCPClient › Gebeurtenissen › OnBeforeWatchDog
Wordt geactiveerd voor elke WatchDog-reconnectiepoging, zodat de applicatie de doelserver kan aanpassen of de poging kan onderdrukken.
property OnBeforeWatchDog: TsgcWSOnBeforeWatchDogEvent;
// TsgcWSOnBeforeWatchDogEvent = procedure(Sender: TObject; var Handled: Boolean) of object
—
Wanneer WatchDog is ingeschakeld en een onverwachte verbreking wordt gedetecteerd, wacht de client WatchDog.Interval seconden en probeert vervolgens opnieuw verbinding te maken. OnBeforeWatchDog wordt geactiveerd vlak voor elke poging, waardoor de applicatie de serververbindingseigenschappen (Host, Port, TLS...) kan wijzigen om fallback-logica te implementeren, zoals overschakelen naar een secundaire server na meerdere mislukte pogingen. Het instellen van Handled op True annuleert de herverbindingspoging voor deze cyclus; als het False blijft (standaard), laat de WatchDog de herverbinding doorgaan.
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;