TsgcWebSocketClient › Events › OnBeforeWatchDog
Si attiva prima di ogni tentativo di riconnessione WatchDog in modo che l'applicazione possa modificare il server di destinazione o sopprimere il tentativo.
property OnBeforeWatchDog: TsgcWSOnBeforeWatchDogEvent;
// TsgcWSOnBeforeWatchDogEvent = procedure(Sender: TObject; var Handled: Boolean) of object
—
Quando WatchDog è abilitato e viene rilevata una disconnessione imprevista, il client attende WatchDog.Interval secondi e quindi tenta di riconnettersi. OnBeforeWatchDog viene generato appena prima di ogni tentativo, il che consente all'applicazione di modificare le proprietà di connessione al server (Host, Port, URL, TLS...) per implementare una logica di fallback come il passaggio a un server secondario dopo diversi tentativi falliti. Impostare Handled su True annulla il tentativo di riconnessione per questo ciclo; lasciarlo su False (l'impostazione predefinita) consente a WatchDog di procedere con la riconnessione.
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;