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;
