TsgcWebSocketClient › Events › OnBeforeWatchDog
Wordt geactiveerd voor elke WatchDog-reconnectiepoging, zodat de applicatie de doelserver kan aanpassen of de poging kan onderdrukken.
__property TsgcWSOnBeforeWatchDogEvent OnBeforeWatchDog;
// typedef void __fastcall (__closure *TsgcWSOnBeforeWatchDogEvent)(TObject * Sender, bool &Handled);
—
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 vóór elke poging, waardoor de applicatie de serververbindingseigenschappen (Host, Port, URL, TLS...) kan wijzigen om terugvallogica te implementeren, zoals overschakelen naar een secundaire server na meerdere mislukte pogingen. Het instellen van Handled op True annuleert de herverbindingspoging voor deze cyclus; het op False laten (de standaard) laat de WatchDog doorgaan met het opnieuw verbinden.
void OnBeforeWatchDog(TObject *Sender, bool &Handled)
{
TsgcWebSocketClient *oClient = (TsgcWebSocketClient*)Sender;
if (oClient->WatchDog->AttemptsCount > 3)
oClient->Host = "fallback.example.com";
Handled = false;
}