TsgcWebSocketClient › 이벤트 › 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;