Socket.IO API 提供强大的工具,用于管理客户端与服务器之间的实时双向通信。它包括 SocketManager(用于管理多个命名空间)和 SocketIOClient(用于单个 socket 连接)。以下是该 API 的详细使用指南,包括设置、配置和常见用例。
通过 SocketManager 创建和管理 WebSocket 连接。每个 SocketManager 可以管理多个命名空间和配置。
SocketManagerconstructor(url: string, config?: SocketManagerConfig)
url:Socket.IO 服务器的 URL。config:可选的配置对象。socketURL: string:服务器 URL。status: SocketIOStatus:连接状态(如 connected、connecting、disconnected 等)。defaultSocket: SocketIOClient:默认命名空间("/")的 socket。socket(namespace: string): SocketIOClient
返回指定命名空间的 SocketIOClient。
setConfigs(config: SocketManagerConfig): void
更新管理器配置。
disconnect(): void
断开所有由此实例管理的 socket 连接。
reconnect(): void
尝试重新连接服务器。
SocketIOClientid: string | null:socket 连接的唯一标识符。status: SocketIOStatus:客户端连接状态(如 connected、connecting 等)。connect(): void
发起连接。
disconnect(): void
断开连接。
emit(event: string, data: any): void
向服务器发送带有数据的事件。
on(event: string, callback: (data: any[], ack: (value?: any) => void) => void): void
注册事件监听器。
通过 SocketManagerConfig 对象自定义连接行为。
compress:启用 WebSocket 传输的压缩。connectParams:连接 URL 中包含的 GET 参数。cookies:在初始连接中发送的 cookies。forceNew:确保每次连接都创建一个新的引擎实例。reconnects:启用自动重连。reconnectAttempts:最大重连次数。reconnectWait:重连尝试之间的最小时间(秒)。disconnect()。on("error") 监听器以优雅地处理连接问题。secure: true。