WebSocket Client Before Connect and Before WatchDog

· 기능

WebSocket 클라이언트는 사용 가능한 이벤트로 커스텀할 수 있어요. 최신 버전에 두 가지 새로운 이벤트가 추가됐어요:

OnBeforeConnect: 클라이언트가 서버에 연결을 시도하기 직전에 호출되는 이벤트예요.

OnBeforeWatchDog: sgcWebSocket 클라이언트에는 연결 해제 후 재연결하는 WatchDog라는 내장 메서드가 있어요. 이 이벤트는 재연결을 시도하기 전에 호출돼요.

OnBeforeConnect

이 이벤트는 클라이언트가 서버에 연결을 시도하기 전에 호출돼요. 사용자가 수동으로 서버에 연결을 시도하거나 WatchDog이 활성화되어 연결 해제 후 자동으로 재연결을 시도할 때 발생해요.

이 메서드는 클라이언트 속성을 커스텀하는 데 사용할 수 있어요. 예시: 너무 많은 재시도 후 접근하려는 서버의 호스트/포트를 여기에서 변경할 수 있어요.

procedure OnBeforeConnect(Sender: TObject);
begin
  if Retries > 10 then
    TsgcWebSocketClient(Sender).URL := 'ws://echo.websocket.org';
end; 

OnBeforeWatchDog 

WatchDog이 활성화되어 서버에 재연결을 시도할 때 이 이벤트가 호출돼요. 여기에서 자체 재연결 알고리즘을 구현할 수 있어요. 예시: 먼저 보안 서버에 연결을 시도하고 실패하면 비보안 서버에 재연결을 시도할 수 있어요.

procedure OnBeforeWatchDog(Sender: TObject; var Handled:
    Boolean);
begin
  Handled := True;
  TsgcWebSocketClient(Sender).URL := 'wss://server1';
  if not TsgcWebSocketClient(Sender).Connect() then
  begin
    TsgcWebSocketClient(Sender).URL := 'ws://server2';
        TsgcWebSocketClient(Sender).Connect(); 
  end;
end;