TsgcWebSocketClientEvents › OnBeforeWatchDog

OnBeforeWatchDog Event

Si attiva prima di ogni tentativo di riconnessione WatchDog in modo che l'applicazione possa modificare il server di destinazione o sopprimere il tentativo.

Sintassi

property OnBeforeWatchDog: TsgcWSOnBeforeWatchDogEvent;
// TsgcWSOnBeforeWatchDogEvent = procedure(Sender: TObject; var Handled: Boolean) of object

Valore predefinito

Note

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.

Esempio


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;

Torna agli Eventi