Browse Source

fix(socket): 解决消息解析异常处理问题

- 在消息解析过程中添加 try-except 异常处理块
- 当 JSON 解析失败时默认设置 jsonType 为 "ping"
- 恢复之前被注释掉的相机 ISO 设置初始化功能
- 确保相机连接状态下的配置参数正确初始化
rambo 6 days ago
parent
commit
d72626b0d5
2 changed files with 12 additions and 9 deletions
  1. 3 3
      python/mcu/capture/smart_shooter_class.py
  2. 9 6
      python/sockets/message_handler.py

+ 3 - 3
python/mcu/capture/smart_shooter_class.py

@@ -235,9 +235,9 @@ class SmartShooter(metaclass=SingletonType):
                 }
                 await self.sendMessageSocket(message)
             # print("相机已连接状态信息---->", cameraInfo)
-            # self.initConfigIsoSettings(
-            #     CameraLists=CameraLists, isMultCameraMode=isMultCameraMode
-            # )
+            self.initConfigIsoSettings(
+                CameraLists=CameraLists, isMultCameraMode=isMultCameraMode
+            )
             return True, "相机已连接"
         except zmq.Again as e:
             self.connect_status = False

+ 9 - 6
python/sockets/message_handler.py

@@ -135,12 +135,15 @@ async def handlerSend(
     loop = asyncio.get_event_loop()
     receiveData = json.loads(receiveData)
     # 处理消息发送逻辑
-    receiveData = json.loads(receiveData.get("text"))
-    print("receiveData", receiveData)
-    jsonType = receiveData.get("type")
-    code = receiveData.get("code")
-    msg = receiveData.get("msg")
-    data = receiveData.get("data")
+    try:
+        receiveData = json.loads(receiveData.get("text"))
+        print("receiveData", receiveData)
+        jsonType = receiveData.get("type")
+        code = receiveData.get("code")
+        msg = receiveData.get("msg")
+        data = receiveData.get("data")
+    except:
+        jsonType = "ping"
 
     match jsonType:
         case "ping":