TsgcWebSocketClient › Eventos › OnBeforeWatchDog
Se dispara antes de cada intento de reconexión del WatchDog para que la aplicación pueda ajustar el servidor de destino o suprimir el reintento.
property OnBeforeWatchDog: TsgcWSOnBeforeWatchDogEvent;
// TsgcWSOnBeforeWatchDogEvent = procedure(Sender: TObject; var Handled: Boolean) of object
—
Cuando WatchDog está habilitado y se detecta una desconexión inesperada, el cliente espera WatchDog.Interval segundos y luego intenta reconectarse. OnBeforeWatchDog se activa justo antes de cada intento, lo que permite a la aplicación cambiar las propiedades de conexión al servidor (Host, Port, URL, TLS...) para implementar lógica de fallback, como cambiar a un servidor secundario tras varios intentos fallidos. Establecer Handled en True cancela el intento de reconexión para ese ciclo; dejarlo en False (el valor por defecto) permite que WatchDog proceda con la reconexión.
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;