WebSocket
Beta — 下一阶段
WebSocket 支持正在积极开发中,当前版本暂不支持通过 WebSocket 集成。以下文档反映的是计划中的合约规范,在正式版本发布前 API 和消息格式可能发生变更。
WebSocket 用于实时查询设备状态、执行设备操作,并接收设备事件。
REST API 适合标准请求响应式集成;WebSocket 适合已经建立长连接、需要低延迟交互和实时事件的集成。
适用场景
- 监听设备上线、离线或状态变化
- 监听继电器、数字输入、传感器等 IO 状态变化
- 通过长连接查询设备状态
- 通过长连接执行设备操作
- 降低客户端频繁轮询 REST API 的需要
不适用场景
- 不通过 WebSocket 获取 access token
- 不通过 WebSocket 拉取历史事件
- 不通过 WebSocket 批量控制设备
基本流程
- 调用 创建访问令牌 获取
accessToken。 - 调用
POST /wlte/v1/ws/ticket使用 access token 换取一次性wsTicket。 - 使用
wss://.../ws?ticket={wsTicket}建立 WebSocket 连接。 - 连接成功后形成 authenticated session。
- 使用
request消息发起session.ping、device.status.get或device.operation.execute。 - 根据
reply的requestId匹配请求结果。 - 根据
event的topic处理设备事件。 - 连接断开后按重连规则重新连接。
从这里开始
- 创建 WebSocket Ticket — 获取一次性连接凭证
- 建立连接 — 完成认证并建立 session
- 消息格式 — 了解 request / reply / event 结构
