From 5efa83a2f97b01a6f85f3bd8a48dbd5cf5e2a7a6 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 12 Aug 2025 19:10:55 +0800 Subject: [PATCH] 222 --- app/core/websocket/adapter.py | 2 ++ modify.md | 31 +++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/app/core/websocket/adapter.py b/app/core/websocket/adapter.py index 47234f9..2ced66b 100644 --- a/app/core/websocket/adapter.py +++ b/app/core/websocket/adapter.py @@ -82,6 +82,7 @@ class WebSocketAdapter: 单一职责:只负责数据转发,不处理业务逻辑 """ logger.info(f"发送循环启动: {self.client.name} (out:{self.outbound_channel.name} / in:{self.inbound_channel.name})") + logger.info(f"连接状态检查: client.is_connected={self.client.is_connected}, outbound_channel.is_connected={self.outbound_channel.is_connected}") try: while self.client.is_connected and self.outbound_channel.is_connected: try: @@ -89,6 +90,7 @@ class WebSocketAdapter: msg = await self.outbound_channel.receive_message(timeout=0.5) logger.debug(f"适配器接收消息: {self.outbound_channel.name} -> msg: {msg}") if msg: + logger.info(f"适配器收到消息: {self.outbound_channel.name} -> type: {msg.type}, data: {msg.data}") # 将消息数据序列化为JSON字符串 import json if msg.data is None: diff --git a/modify.md b/modify.md index 04ea625..bdd7b75 100644 --- a/modify.md +++ b/modify.md @@ -869,6 +869,37 @@ class WebSocketConfig(BaseModel): WebSocket服务器 ↔ WebSocketClient ↔ WebSocketAdapter ↔ WebSocketChannel ``` +### WebSocket适配器空数据处理修复 +**问题**:适配器收到 `None` 类型的消息数据时产生警告日志 + +**解决方案**: +1. 在适配器的 `_send_loop` 方法中添加对 `None` 值的特殊处理 +2. 将警告日志改为调试日志,避免产生过多警告 + +**文件变更**: +- 更新 `app/core/websocket/adapter.py` - 修复空数据处理 + +**修改内容**: +```python +if msg.data is None: + # 如果data为None,跳过发送 + logger.debug(f"适配器跳过空数据消息: {self.outbound_channel.name} -> {msg.type}") +elif isinstance(msg.data, dict): + # 正常处理字典数据 + # ... +else: + # 处理其他非字典格式数据 + # ... +``` + +**优化效果**: +- ✅ 正确处理空数据消息 +- ✅ 避免产生不必要的警告日志 +- ✅ 保持代码的健壮性 +- ✅ 调试信息更清晰 +- ✅ **添加调试日志,便于排查消息接收问题** +- ✅ **添加详细的消息内容日志,便于调试心跳消息流转** + ### Channel生命周期管理完善 **问题**:用户指出"没有遵循单一原则是 channel.py他stop 之后能使用吗 ,二次连接webscoket 还能有吗 生命周期"