TsgcWebSocketClientEventos › OnBeforeWatchDog

OnBeforeWatchDog Event

Disparado antes de cada tentativa de reconexão do WatchDog para que a aplicação possa ajustar o servidor de destino ou suprimir a nova tentativa.

Sintaxe

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

Valor Padrão

Observações

Quando o WatchDog está habilitado e uma desconexão inesperada é detectada, o cliente aguarda WatchDog.Interval segundos e então tenta reconectar. OnBeforeWatchDog é gerado logo antes de cada tentativa, o que permite à aplicação alterar as propriedades de conexão do servidor (Host, Port, URL, TLS...) para implementar lógica de fallback, como alternar para um servidor secundário após várias tentativas falhas. Definir Handled como True cancela a tentativa de reconexão para este ciclo; deixá-lo False (o padrão) permite que o WatchDog prossiga com a reconexão.

Exemplo


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;

Voltar para Eventos