验证状态:已源码核验、未联调;适用基线:源码归纳 @ 2026-09-14
通过平台 IoT v1 请求/应答消息批量查询 SFU(对讲服务器)与设备 PTT 客户端的在线状态。本页是 mqtt-refresh-server-center-server-iot-v1-list-online-status-163033bf 的唯一操作正本,覆盖对讲工作台/房间页对 server/center-server/iot/v1/list-online-status 的请求与应答契约。它提供的是周期快照,不是订阅式推送。
| 页面/功能 | 角色或空间分支 |
|---|---|
| 工作台与房间页共享的在线状态适配器(每 12 秒周期 + 需求变化/手动刷新时触发) | 登录用户的 MQTT 连接 |
MQTT 请求 server/center-server/iot/v1/list-online-status(应答按 reply 回流,最多 4 次)— 批量查询 SFU 与设备 PTT 客户端的在线状态周期快照。
主题契约全量事实(方向、消费方、QoS、payload 归档口径)见 MQTT 主题清单 · 静态 topic与yaml 详解 · list-online-status;在线状态缓存与保活供给(含每日凌晨对账)见设备业务 · mqtt-bridge 设备消息链。
| 层级 | 判据 |
|---|---|
| 发布完成 | publishAsync Promise 成功;失败被静默吞掉(依赖周期与重连补偿) |
| 应答到达 | 应答 topic 收到 status=200 且 data 覆盖所询前缀 |
| 状态确认 | 适配器把被应答覆盖的前缀标记为已确认,配合 MQTT 连接状态给出 live/stale 新鲜度 |
时序参数(已核验):触发 = 需求(前缀集合)变化、MQTT 重连、手动刷新、每 12 秒周期(TALKGROUP_ONLINE_STATUS_INTERVAL=12000);每次发布最多换回 4 次应答、间隔 3 秒;第 2 次起仅当请求 id 仍在线才继续应答(应答侧在线检查)。
params 缺失/非数组/空数组 → 业务异常状态经应答回传;技术异常回传固定 internal error 文案(应答信封行为,源码归纳)。id 对应缓存在线状态为 FALSE 则提前停止。availability.sfuOnline)。onlineStatusLookup 的缓存写入源($SYS 事件族)不属本票范围;状态延迟未量化。