WebSocket Client Before Connect and Before WatchDog

· Recursos

O WebSocket Client pode ser personalizado com alguns dos eventos disponíveis. Há 2 novos eventos adicionados na versão mais recente:

OnBeforeConnect: este evento é chamado logo antes de o cliente tentar se conectar ao servidor.

OnBeforeWatchDog: o cliente sgcWebSocket tem um método integrado para reconectar após uma desconexão chamado WatchDog. Este evento é chamado antes de tentar reconectar.

OnBeforeConnect

Este evento é chamado antes de o cliente tentar se conectar ao servidor. Pode ser disparado porque o usuário tenta conectar manualmente ao servidor ou porque o WatchDog está habilitado e tenta reconectar automaticamente após uma desconexão.

Este método pode ser usado para personalizar as propriedades do cliente. Exemplo: você pode alterar aqui o Host / porta do servidor que está tentando acessar após muitas tentativas.

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

OnBeforeWatchDog 

Este evento é chamado quando o WatchDog está habilitado e tenta reconectar ao servidor. Aqui você pode usar o evento para implementar seu próprio algoritmo de reconexão. Exemplo: você pode tentar conectar primeiro a um servidor seguro e, se não funcionar, tentar reconectar a um servidor não seguro.

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;