TsgcWebSocketClientイベント › 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;

イベントに戻る