WebSocket 集成
功能路径:SVE 导航栏 → 结果集成 → WebSocket
功能简介
智能相机作为 WebSocket 客户端,与服务器建立长连接(全双工),将 AI 推理结果以裸 JSON 文本帧实时发送到服务器(发送后即断开)。可选开启 JWT 认证,服务器在握手期校验 token,通过才建立连接。
集成要求
| 项 | 要求 |
|---|---|
| WebSocket 服务器 | 可被相机访问,已启动 WebSocket 服务 |
| 地址格式 | ws://<服务器IP>:<端口> |
| 端口 | WebSocket 服务端口(按服务器实际配置) |
| JWT 认证 | 可选:开启后相机需携带有效 token(过期/非法会被拒绝连接) |
| 消息格式 | 裸 JSON 文本帧(IntegrateResult:appId / cameraId / timestamp / originImg / maskImg / finalImg / additional) |
相机侧消息示例
json
{
"appId": "app-id",
"appVersion": "1.0.0",
"cameraId": "1",
"timestamp": "20260910_101725794",
"originImg": "http://<相机IP>:58200/files/temp/xxx.jpg",
"maskImg": "http://<相机IP>:58200/files/temp/xxx.jpg",
"finalImg": "http://<相机IP>:58200/files/temp/xxx.jpg",
"additional": { "svResult": "NG" }
}SVE 上基本配置
- 进入 结果集成 → WebSocket;
- 打开 WebSocket集成 开关;
- 填 WebSocket地址:
<服务器IP>:<端口>;
注意:SVE 界面中「WebSocket地址」输入框已自带
ws://前缀,只需填入 IP 和端口,无需再补写ws://。
- (可选)打开 JWT 认证 开关,并按服务器要求配置 token 及有效期;
- 点击 保存。
基本验证
未开启 JWT
- 启动 WebSocket 服务器,监听某端口;
- 相机配置地址
<服务器IP>:<端口>(不开 JWT),触发 AI 推理 / 缺陷上报; - 服务器侧观察到「客户端已连接」+ 收到完整 JSON 消息 → 集成成功。
开启 JWT
- 按服务器约定生成 token(如配置密钥/有效期);
- 启动开启了 JWT 校验的服务器:
- 严格验签:携带密钥启动;
- 仅校验合法性:按服务器说明启用对应参数;
- 相机填入 token 与有效期,触发上报;
- 服务器侧校验通过并建立连接、收到 JSON 消息 → 集成成功;非法/过期 token 会被拒绝连接。
常见问题
| 现象 | 排查 |
|---|---|
| 相机连不上服务器 | 服务器是否启动并监听该端口;相机的服务器 IP/端口是否正确;防火墙放行 |
| 连上但收不到消息 | 相机未触发推理/上报;或填错发送地址 |
| 连接后立即断开 | 属正常现象(发送后即断开,fire-and-forget) |
| JWT 模式下连接被拒 | 校验/生成 token 的密钥是否一致、token 是否过期、填写的 token 是否正确 |