From 0cbe07311a8b58ef6725ccc827fc2a2b464ba4d3 Mon Sep 17 00:00:00 2001 From: hcj <1224667075@qq.com> Date: Wed, 2 Jul 2025 18:30:55 +0800 Subject: [PATCH] =?utf8?q?ws=E6=AD=BB=E6=9C=BA=E4=BF=AE=E6=94=B9=20?= =?utf8?q?=E9=99=8D=E4=BD=8E=E6=AD=BB=E6=9C=BA=E9=A2=91=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../ble_service/bleservice/bleService.c | 2 +- .../peripheral/slip/cat1Service/cat1_ws.cpp | 39 +++++++++++-------- .../tools/build/config/brandy.config | 2 +- .../third_party/lwip/src/api/api_msg.c | 28 ++++++------- 4 files changed, 38 insertions(+), 33 deletions(-) diff --git a/code/sdk/application/wearable/service/ble_service/bleservice/bleService.c b/code/sdk/application/wearable/service/ble_service/bleservice/bleService.c index 25ce3dcec..9a020b824 100644 --- a/code/sdk/application/wearable/service/ble_service/bleservice/bleService.c +++ b/code/sdk/application/wearable/service/ble_service/bleservice/bleService.c @@ -2494,7 +2494,7 @@ errcode_t uapi_Ai_send_service_init(void) taskcfg.attr.name = "Ai_record_queue_service"; taskcfg.attr.priority = osPriorityNormal; // taskcfg.attr.stack_size = BLESRV_APP_BOARD_TASK_SIZE; - taskcfg.attr.stack_size = 0x1500; + taskcfg.attr.stack_size = 0x4000; taskcfg.func = blesrvAi_send_service_task; taskcfg.use_mem = USE_EXTEND_MEM; diff --git a/code/sdk/drivers/peripheral/slip/cat1Service/cat1_ws.cpp b/code/sdk/drivers/peripheral/slip/cat1Service/cat1_ws.cpp index 1b6c2b405..7ecada57c 100644 --- a/code/sdk/drivers/peripheral/slip/cat1Service/cat1_ws.cpp +++ b/code/sdk/drivers/peripheral/slip/cat1Service/cat1_ws.cpp @@ -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; } diff --git a/code/sdk/kernel/liteos/liteos_v207.1.0/Huawei_LiteOS/tools/build/config/brandy.config b/code/sdk/kernel/liteos/liteos_v207.1.0/Huawei_LiteOS/tools/build/config/brandy.config index 31bbe1ca1..8945b187a 100755 --- a/code/sdk/kernel/liteos/liteos_v207.1.0/Huawei_LiteOS/tools/build/config/brandy.config +++ b/code/sdk/kernel/liteos/liteos_v207.1.0/Huawei_LiteOS/tools/build/config/brandy.config @@ -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 diff --git a/code/sdk/open_source/openharmony/third_party/lwip/src/api/api_msg.c b/code/sdk/open_source/openharmony/third_party/lwip/src/api/api_msg.c index bbe970c77..fb8ccbce6 100644 --- a/code/sdk/open_source/openharmony/third_party/lwip/src/api/api_msg.c +++ b/code/sdk/open_source/openharmony/third_party/lwip/src/api/api_msg.c @@ -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 */ -- 2.17.1