TsgcTCPClient › Eventos › 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 del servidor (Host, Port, TLS...) para implementar lógica de conmutación por error, 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 predeterminado) permite que WatchDog proceda con la reconexión.

Ejemplo


procedure OnBeforeWatchDog(Sender: TObject; var Handled: Boolean);
var
  oClient: TsgcTCPClient;
begin
  oClient := TsgcTCPClient(Sender);
  if oClient.WatchDog.AttemptsCount > 3 then
    oClient.Host := 'fallback.example.com';
  Handled := False;
end;

Volver a Eventos