WebSocket-client Before Connect en Before WatchDog

· Functies

De WebSocket-client kan worden aangepast met enkele beschikbare events. In de laatste versie zijn 2 nieuwe events toegevoegd:

OnBeforeConnect: dit event wordt aangeroepen vlak voordat de client verbinding probeert te maken met de server.

OnBeforeWatchDog: de sgcWebSocket-client heeft een ingebouwde methode om opnieuw verbinding te maken na een verbreking, WatchDog genaamd. Dit event wordt aangeroepen voordat geprobeerd wordt opnieuw verbinding te maken.

OnBeforeConnect

Dit event wordt aangeroepen voordat de client verbinding probeert te maken met de server. Het event kan worden uitgelokt doordat de gebruiker handmatig probeert verbinding te maken met de server, of doordat WatchDog is ingeschakeld en automatisch probeert opnieuw verbinding te maken na een verbreking.

Deze methode kan worden gebruikt om de client-eigenschappen aan te passen, voorbeeld: je kunt hier de host/poort van de server wijzigen waartoe geprobeerd wordt toegang te krijgen na te veel pogingen.

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

OnBeforeWatchDog 

Dit event wordt aangeroepen wanneer WatchDog is ingeschakeld en probeert opnieuw verbinding te maken met de server. Hier kun je het event gebruiken om je eigen herverbindingsalgoritme te gebruiken. Voorbeeld: je kunt eerst proberen verbinding te maken met een beveiligde server en als dat niet werkt, proberen opnieuw verbinding te maken met een niet-beveiligde server.

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;