Socket.IO 客户端

从 Delphi/C++ Builder 连接到 Socket.IO 服务器。使用 Engine.IO 传输以及带有 ACK 和房间功能的 Socket.IO 事件/命名空间层。

TsgcWSAPI_SocketIO

Socket.IO v3/v4 协议的客户端——Engine.IO 传输、命名空间、事件发送/接收、ACK 回调和二进制附件。

组件类

TsgcWSAPI_SocketIO

支持平台

Windows, macOS, Linux, iOS, Android

版本

Standard / Professional / Enterprise

放置组件,连接,发送,监听

与目标为 /socket.io/ 且带有 EIO=4&transport=websocket 的 TsgcWebSocketClient 配对——组件处理 Engine.IO 握手,并允许您发送/订阅事件。

uses
  sgcWebSocket, sgcWebSocket_API_SocketIO;

var
  WSClient: TsgcWebSocketClient;
  SIO: TsgcWSAPI_SocketIO;
begin
  WSClient := TsgcWebSocketClient.Create(nil);
  WSClient.URL := 'wss://server.example.com/socket.io/?EIO=4&transport=websocket';

  SIO := TsgcWSAPI_SocketIO.Create(nil);
  SIO.Client := WSClient;

  WSClient.Active := True;

  SIO.Emit('/', 'chat:message',
    '{"user":"alice","text":"hello"}');
end;
// uses: sgcWebSocket, sgcWebSocket_API_SocketIO
TsgcWebSocketClient *WSClient = new TsgcWebSocketClient(this);
WSClient->URL = "wss://server.example.com/socket.io/?EIO=4&transport=websocket";

TsgcWSAPI_SocketIO *SIO = new TsgcWSAPI_SocketIO(this);
SIO->Client = WSClient;

WSClient->Active = true;
SIO->Emit("/", "chat:message",
  "{\"user\":\"alice\",\"text\":\"hello\"}");

内部功能

在单个 TsgcWebSocketClient 上同时实现 Engine.IO 传输层(ping/pong、升级)和 Socket.IO 消息层(CONNECT、EVENT、ACK、DISCONNECT)。

Engine.IO 传输

处理 EIO=4 握手、25 秒的 ping/pong 节奏和协议升级路径。组件自动协商有效载荷编码(文本或二进制)。

命名空间

Connect(namespace) 在同一传输上打开额外的命名空间。Emit(namespace, event, args) 针对选定的命名空间;OnSocketIOEvent 报告每个事件的原始命名空间。

事件 ACK

Emit 传递带有 ACK 标识符的回调——当服务器回复时,组件使用匹配的 ID 和 JSON 参数触发 OnSocketIOAck

二进制附件

Socket.IO v4 支持交错的二进制有效载荷。组件保留占位符,并将每个附件作为流与 JSON 信封一起呈现。

重连机制

绑定底层 TsgcWebSocketClient WatchDog 以自动重连——重新打开时,组件为每个活跃命名空间重新发送 CONNECT 数据包。

房间(服务器端)

Socket.IO 房间是服务器端概念;组件通过在服务器定义的任何房间合约上发送 join / leave 事件来参与。

规范与参考

本组件实现协议的权威来源。

文档与演示

直接访问组件参考文档,获取即用型演示项目,并下载试用版。

在线帮助 — API_SocketIO 本组件的完整属性、方法和事件参考。
免费试用 — sgcWebSockets 下载试用包 and connect to Socket.IO servers (Delphi 版)。
技术文档 (PDF) 本组件的功能介绍、快速入门、Delphi & C++ Builder 代码示例及主要来源参考。
用户手册 (PDF) 涵盖库中所有组件的综合手册。

准备好连接 Socket.IO 服务器了吗?

下载免费试用版,将 Socket.IO 集成到您的 Delphi 应用程序中。