WebSocket 客户端:连接前和 WatchDog 前事件

· 功能

WebSocket 客户端可以通过可用的事件进行自定义。最新版本新增了 2 个事件:

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;