TsgcWebSocketClient이벤트 › OnBeforeWatchDog

OnBeforeWatchDog 이벤트

각 WatchDog 재연결 시도 전에 발생하여 애플리케이션이 대상 서버를 조정하거나 재시도를 억제할 수 있게 합니다.

구문

__property TsgcWSOnBeforeWatchDogEvent OnBeforeWatchDog;
// typedef void __fastcall (__closure *TsgcWSOnBeforeWatchDogEvent)(TObject * Sender, bool &Handled);

기본값

설명

WatchDog가 활성화되고 예기치 않은 연결 해제가 감지되면 클라이언트는 WatchDog.Interval 초 동안 기다린 다음 다시 연결을 시도합니다. OnBeforeWatchDog는 각 시도 직전에 발생하며, 애플리케이션이 서버 연결 속성(Host, Port, URL, TLS...)을 변경하여 여러 번 실패한 시도 후 보조 서버로 전환하는 것과 같은 폴백 로직을 구현할 수 있게 합니다. Handled를 True로 설정하면 이 주기의 재연결 시도가 취소됩니다. False로 두면(기본값) WatchDog가 재연결을 진행합니다.

예제


void OnBeforeWatchDog(TObject *Sender, bool &Handled)
{
  TsgcWebSocketClient *oClient = (TsgcWebSocketClient*)Sender;
  if (oClient->WatchDog->AttemptsCount > 3)
    oClient->Host = "fallback.example.com";
  Handled = false;
}

이벤트로 돌아가기