增加last error信息
authorhcj <1224667075@qq.com>
Tue, 23 Dec 2025 08:59:16 +0000 (16:59 +0800)
committerhcj <1224667075@qq.com>
Tue, 23 Dec 2025 08:59:16 +0000 (16:59 +0800)
code/sdk/zhihui/websocket/os_ws/haisi_websocket.c

index 52dd746..0cdbe5a 100644 (file)
@@ -273,11 +273,20 @@ static void uapi_ws_on_message(int client, const char *data, size_t length, bool
         }
     }
 }
-
+struct WebSocketErrorResult last_error={0};
 /* 出错回调:仅打印,实际重连策略可在上层统一管理 */
 static void uapi_ws_on_error(int client, struct WebSocketErrorResult error)
 {
     (void)client;
+    if(last_error.errorMessage!=NULL)
+    {
+        free(last_error.errorMessage);
+        last_error.errorMessage=NULL;
+    }
+    last_error.errorCode=error.errorCode;
+    last_error.errorMessage=malloc(strlen(error.errorMessage));
+    memcpy(last_error.errorMessage,error.errorMessage,strlen(error.errorMessage));
+
     HAISI_WS_ERROR("WebSocketClientConstructor error: code=%d msg=%s\n", error.errorCode, error.errorMessage);
 }
 
@@ -614,6 +623,9 @@ int uapi_ws_start(const ws_call_backs_t *callbacks)
     g_ws_running = 1;
     g_ws_reconnect_count = 0; /* 启动时从0开始 */
     g_ws_connected = WS_STATE_DISCONNECTED; /* 启动时重置连接状态 */
+
+    last_error.errorMessage=NULL;
+    last_error.errorCode=0;
     
     // 注册回调函数结构体
     if (callbacks != NULL) {