TsgcWebSocketClientEvents › OnBeforeWatchDog

OnBeforeWatchDog 事件

在每次 WatchDog 重连尝试之前触发,以便应用程序调整目标服务器或抑制重试。

语法

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

默认值

备注

当启用 WatchDog 且检测到意外断线时,客户端等待 WatchDog.Interval 秒后尝试重新连接。OnBeforeWatchDog 在每次尝试之前触发,允许应用程序更改服务器连接属性(Host、Port、URL、TLS……)以实现回退逻辑,例如在多次失败后切换到备用服务器。将 Handled 设置为 True 可取消本次周期的重新连接尝试;保持 False(默认)则让 WatchDog 继续重连。

示例


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;

返回事件