主题
WebSocket 服务(IRocWebSocketService)
- 接口:
RocPlay.Services.Network.IRocWebSocketService - 状态枚举:
WebSocketConnectionState(Disconnected/Connecting/Connected/Disconnecting/Error) - 实现(二选一、条件编译,勿同时注册两实现到同一包体)
- 非仅 WebGL Player、含编辑器:
RocWebSocketService(ClientWebSocket) - 仅 WebGL Player:
RocWebSocketWebGlService+RocWebSocketWebGL.jslib - 类上均为
[RocImplementation(typeof(IRocWebSocketService), Priority = 0)]
- 非仅 WebGL Player、含编辑器:
- 源码目录:
Assets/RocPlay/Services/Network/WebSocket/
帧语义 + 浏览器/WebGL 特例 与 TCP 差异大,因此单独 「连接与帧」 与 「WebGL 与浏览器」 两册;总览仍先读心智。
最小心智模型
- 只 Resolve 接口:业务不要
if选具体实现;同一包体只应存在一种IRocWebSocketService实现。 ws:///wss://URL:生产https页面须wss://。- 文本与二进制帧:
SendTextAsync/SendBinaryAsync与对应事件。 - WebGL 真机验证:编辑器多为
ClientWebSocket;浏览器链路需在 WebGL 构建 下冒烟。 - 与 TCP、HTTP 分工:字节流长连见 TCP 服务;短连见 辅助工具 · HTTP;WebGL、
.jslib、自定义实现见 WebGL 与浏览器。
职责(摘要)
异步以 ws:// 或 wss:// URL 建连、收发文本与二进制帧,并通过事件推送到业务层。
分册(按阅读顺序)
| 顺序 | 分册 | 说明 |
|---|---|---|
| 1 | 连接与帧 | API、ws/wss、Resolve |
| 2 | WebGL 与浏览器 | 双实现、运维、.jslib、自定义 |
| 3 | 示例 | 最小连接与收发 |
→ 基础服务总览