TsgcWebSocketClientEventos › OnBeforeWatchDog

OnBeforeWatchDog Evento

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.

Sintaxis

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

Valor Predeterminado

Observaciones

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.

Ejemplo


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;

Volver a Eventos