57 lines
1.9 KiB
Markdown
57 lines
1.9 KiB
Markdown
# 问题处理文档
|
||
|
||
---
|
||
|
||
## 2026-06-10
|
||
|
||
### #1 libmms_m RCB 订阅编号硬编码
|
||
|
||
**问题**:`mms_m_icd_report_init()` 中硬编码 `if(0 == rpt_no.compare("01"))`,只订阅编号为 `"01"` 的 RCB,其他编号被丢弃,无法按需灵活订阅多个 RCB 实例。
|
||
|
||
**需求**:
|
||
1. 灵活可配置订阅的控制块编号
|
||
2. libmms_m 提供接口,由 libiec61850m 传入
|
||
3. 可传入一个或多个编号,不传默认 `"01"`
|
||
4. 无效数据打印错误并返回失败
|
||
|
||
**处理计划**:[RCB订阅编号可配置化](./mid/RCB订阅编号可配置化.md)
|
||
|
||
**状态**:✅ 已完成
|
||
**涉及文件**:`myMms_m.h`, `mms_m.h`, `mms_m.cpp`, `iec61850m.cpp`
|
||
|
||
---
|
||
|
||
### #2 libweb_server 模块缺陷修复
|
||
|
||
**问题**:WebSocket 服务端模块存在 10 个缺陷,含严重级别(单客户端、多线程竞态、悬空指针、non-null-terminated UB)和高危/中等级别(调试 printf、SBO 阻塞、LOG 格式化缺失等)。
|
||
|
||
**需求**:
|
||
1. 兼容多个 WebSocket 客户端同时连接
|
||
2. 完善断连处理
|
||
3. 多线程安全保护
|
||
4. 修复 UB 和格式化问题
|
||
5. 增量推送优化(仅变化时发送)
|
||
|
||
**处理计划**:[libweb_server模块分析](../工程/libweb_server模块分析.md)
|
||
|
||
**状态**:✅ 已完成
|
||
**涉及文件**:`web_server.cpp`, `ws_method.cpp`
|
||
|
||
---
|
||
|
||
### #3 libweb_server 多连接资源共享冲突
|
||
|
||
**问题**:支持多客户端后,所有连接共享同一套全局信号资源(`g_ws_out_signals` 等),一个客户端的 add/del 操作会影响其他客户端的数据推送。
|
||
|
||
**需求**:
|
||
1. 每个连接独立的信号资源(per-connection session)
|
||
2. 连接建立时自动开辟资源,断开时自动释放
|
||
3. `ws_task()` 按 session 独立构建 JSON 推送到对应连接
|
||
|
||
**处理计划**:[libweb_server模块分析](../工程/libweb_server模块分析.md)
|
||
|
||
**状态**:✅ 已完成
|
||
**涉及文件**:`ws_method.h`, `ws_method.cpp`, `web_server.cpp`
|
||
|
||
---
|