ws死机修改 降低死机频率
authorhcj <1224667075@qq.com>
Wed, 2 Jul 2025 10:30:55 +0000 (18:30 +0800)
committerhcj <1224667075@qq.com>
Wed, 2 Jul 2025 10:30:55 +0000 (18:30 +0800)
code/sdk/application/wearable/service/ble_service/bleservice/bleService.c
code/sdk/drivers/peripheral/slip/cat1Service/cat1_ws.cpp
code/sdk/kernel/liteos/liteos_v207.1.0/Huawei_LiteOS/tools/build/config/brandy.config
code/sdk/open_source/openharmony/third_party/lwip/src/api/api_msg.c

index 25ce3dc..9a020b8 100644 (file)
@@ -2494,7 +2494,7 @@ errcode_t uapi_Ai_send_service_init(void)
     taskcfg.attr.name = "Ai_record_queue_service";\r
     taskcfg.attr.priority = osPriorityNormal;\r
     // taskcfg.attr.stack_size = BLESRV_APP_BOARD_TASK_SIZE;\r
-    taskcfg.attr.stack_size = 0x1500;\r
+    taskcfg.attr.stack_size = 0x4000;\r
     taskcfg.func = blesrvAi_send_service_task;\r
     taskcfg.use_mem = USE_EXTEND_MEM;\r
 \r
index 1b6c2b4..7ecada5 100644 (file)
@@ -477,6 +477,11 @@ int send_handshake(WebSocketClient *client,const char *headers) {
 // 发送 WebSocket 消息
 int send_websocket_message(WebSocketClient *client, const unsigned char *message, size_t message_len, WebSocketMessageType type) {
 
+    if(client==NULL||message==NULL )
+    {
+         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"send_websocket_message client or message is NULL\r\n");
+        return -1;
+    }
     uint8_t* frame=( uint8_t *)aic_zalloc(message_len + 50);
     int offset = 0;
     int ret = -1;
@@ -984,16 +989,16 @@ void send_ai_txt(uint8_t type,char *msg)
         return;
     }
     
-    if (send_websocket_message(chat_client,( const unsigned char *)jsonString,strlen(jsonString),WS_TEXT)==0)
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
-    else
-    {
-        if(chat_client==NULL)
+        if (send_websocket_message(chat_client,( const unsigned char *)jsonString,strlen(jsonString),WS_TEXT)==0)
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
+        else
         {
-             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"chat_client is NULL\n");
+            if(chat_client==NULL)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"chat_client is NULL\n");
+            }
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"send_websocket_message fail\n");
         }
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"send_websocket_message fail\n");
-    }
  
     cJSON_free(jsonString);
 }
@@ -1228,7 +1233,7 @@ void uapi_start_asr(void)
 
     char *jsonString = "{\"header\":{\"event\":\"StartTranscription\",\"trace_id\": \
       \"3fa6b9e6a30b407ea38ad7ae69e6c291\"},\"payload\":{\"format\":\"MP3\",\"sample_rate\":16000}}";
-
+    
     if (send_websocket_message(asr_client,( const unsigned char *)jsonString,strlen(jsonString),WS_TEXT)==0)
     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
     else
@@ -1855,7 +1860,7 @@ void bk_websocket_tts(void *data) {
 
         while (client_count)
         {
-            tts_client = init_websocket_client("ws://118.145.158.207:22080/tts/stream?audio_buffer_size=4096",NULL,0);
+            tts_client = init_websocket_client("ws://118.145.158.207:22080/tts/stream?audio_buffer_size=8192",NULL,0);
 
             if (tts_client== NULL) 
             {
@@ -1884,7 +1889,7 @@ void bk_websocket_tts(void *data) {
 
 //    uapi_start_tts_single();
        
-        char* tts_recv_buf=(char *)malloc(1024*4);
+        char* tts_recv_buf=(char *)malloc(1024*8);
 
         set_ai_tts_server_init_flag(1);
 
@@ -1892,8 +1897,8 @@ void bk_websocket_tts(void *data) {
         {
             
             
-            memset_s(tts_recv_buf,2048,0,2048);
-            int len=receive_websocket_message(tts_client,(unsigned char *)tts_recv_buf,1024*4,&type);
+            memset_s(tts_recv_buf,1024*8,0,1024*8);
+            int len=receive_websocket_message(tts_client,(unsigned char *)tts_recv_buf,1024*8,&type);
             // if(type==WS_CONT || 
             if( type==WS_CLOSE || len==-1)//|| type==WS_CONT )
             {
@@ -2038,13 +2043,13 @@ if(asr_client)
     {
         if(asr_client_ping)
         {
-            asr_server_deinit();
-            lwip_close_websocket_client(asr_client);
-            asr_client=NULL;
+            // asr_server_deinit();
+            // lwip_close_websocket_client(asr_client);
+            // asr_client=NULL;
         }
         else
         {
-            if(0==send_websocket_message(asr_client,( const unsigned char *)"ping",strlen("ping"),WS_PING))
+            // if(0==send_websocket_message(asr_client,( const unsigned char *)"ping",strlen("ping"),WS_PING))
             {
                 asr_client_ping=1;
             }
index 31bbe1c..8945b18 100755 (executable)
@@ -141,7 +141,7 @@ LOSCFG_MUTEX_WAITMODE_PRIO=y
 # LOSCFG_MUTEX_WAITMODE_FIFO is not set
 LOSCFG_BASE_IPC_MUX_LIMIT=128
 LOSCFG_BASE_IPC_SEM=y
-LOSCFG_BASE_IPC_SEM_LIMIT=30
+LOSCFG_BASE_IPC_SEM_LIMIT=40
 # LOSCFG_BASE_IPC_RWSEM is not set
 
 # LOSCFG_KERNEL_NX is not set
index bbe970c..fb8ccbc 100644 (file)
@@ -365,7 +365,7 @@ poll_tcp(void *arg, struct tcp_pcb *pcb)
   LWIP_ASSERT("conn != NULL", (conn != NULL));
 
   if (conn->state == NETCONN_WRITE) {
-    lwip_netconn_do_writemore(conn  WRITE_DELAYED);
+        lwip_netconn_do_writemore(conn  WRITE_DELAYED);
   } else if (conn->state == NETCONN_CLOSE) {
 #if !LWIP_SO_SNDTIMEO && !LWIP_SO_LINGER
     if (conn->current_msg && conn->current_msg->msg.sd.polls_left) {
@@ -400,15 +400,15 @@ poll_tcp(void *arg, struct tcp_pcb *pcb)
 static err_t
 sent_tcp(void *arg, struct tcp_pcb *pcb, u16_t len)
 {
-  struct netconn *conn = (struct netconn *)arg;
-
-  LWIP_UNUSED_ARG(pcb);
+struct netconn *conn = (struct netconn *)arg;
+  
+    LWIP_UNUSED_ARG(pcb);
   LWIP_ASSERT("conn != NULL", (conn != NULL));
 
   if (conn) {
     if (conn->state == NETCONN_WRITE) {
-      lwip_netconn_do_writemore(conn  WRITE_DELAYED);
-    } else if (conn->state == NETCONN_CLOSE) {
+      // lwip_netconn_do_writemore(conn  WRITE_DELAYED);
+             } else if (conn->state == NETCONN_CLOSE) {
       lwip_netconn_do_close_internal(conn  WRITE_DELAYED);
     }
 
@@ -1653,7 +1653,7 @@ lwip_netconn_do_writemore(struct netconn *conn  WRITE_DELAYED_PARAM)
   u8_t dontblock;
   u8_t apiflags;
   u8_t write_more;
-
+  
   LWIP_ASSERT("conn != NULL", conn != NULL);
   LWIP_ASSERT("conn->state == NETCONN_WRITE", (conn->state == NETCONN_WRITE));
   LWIP_ASSERT("conn->current_msg != NULL", conn->current_msg != NULL);
@@ -1722,10 +1722,10 @@ lwip_netconn_do_writemore(struct netconn *conn  WRITE_DELAYED_PARAM)
         /* check if current vector is finished */
         if (conn->current_msg->msg.w.vector_off == conn->current_msg->msg.w.vector->len) {
           conn->current_msg->msg.w.vector_cnt--;
-          /* if we have additional vectors, move on to them */
+                    /* if we have additional vectors, move on to them */
           if (conn->current_msg->msg.w.vector_cnt > 0) {
             conn->current_msg->msg.w.vector++;
-            conn->current_msg->msg.w.vector_off = 0;
+                        conn->current_msg->msg.w.vector_off = 0;
           }
         }
       }
@@ -1797,7 +1797,7 @@ err_mem:
     if (delayed)
 #endif
     {
-      sys_sem_signal(op_completed_sem);
+            sys_sem_signal(op_completed_sem);
     }
   }
 #if LWIP_TCPIP_CORE_LOCKING
@@ -1833,12 +1833,12 @@ lwip_netconn_do_write(void *m)
         LWIP_ASSERT("already writing or closing", msg->conn->current_msg == NULL);
         LWIP_ASSERT("msg->msg.w.len != 0", msg->msg.w.len != 0);
         msg->conn->current_msg = msg;
-#if LWIP_TCPIP_CORE_LOCKING
-        if (lwip_netconn_do_writemore(msg->conn, 0) != ERR_OK) {
-          LWIP_ASSERT("state!", msg->conn->state == NETCONN_WRITE);
+        #if LWIP_TCPIP_CORE_LOCKING
+               if (lwip_netconn_do_writemore(msg->conn, 0) != ERR_OK) {
+                     LWIP_ASSERT("state!", msg->conn->state == NETCONN_WRITE);
           UNLOCK_TCPIP_CORE();
           sys_arch_sem_wait(LWIP_API_MSG_SEM(msg), 0);
-          LOCK_TCPIP_CORE();
+                    LOCK_TCPIP_CORE();
           LWIP_ASSERT("state!", msg->conn->state != NETCONN_WRITE);
         }
 #else /* LWIP_TCPIP_CORE_LOCKING */