TsgcTCPClient › 이벤트 › OnBeforeWatchDog

OnBeforeWatchDog 이벤트

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

구문

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

기본값

—

설명

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

예제


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;

이벤트로 돌아가기