From 9b62be236e8337a628c2066b3d8233f32613a85d Mon Sep 17 00:00:00 2001 From: xue <2144439972@qq.com> Date: Sun, 28 Dec 2025 19:40:10 +0800 Subject: [PATCH] =?utf8?q?=E5=A2=9E=E5=8A=A0WebSocketClientSendText?= =?utf8?q?=E4=BF=9D=E6=8A=A4=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../4g/cat1Service/Service/cat1_utils.c | 5 ++++ code/sdk/zhihui/4gTest/cat1_porting.c | 8 +++++++ .../zhihui/websocket/os_ws/haisi_websocket.c | 23 +++++++++++++++---- 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/code/sdk/zhihui/4g/cat1Service/Service/cat1_utils.c b/code/sdk/zhihui/4g/cat1Service/Service/cat1_utils.c index 74ef96daa..756edb6c6 100644 --- a/code/sdk/zhihui/4g/cat1Service/Service/cat1_utils.c +++ b/code/sdk/zhihui/4g/cat1Service/Service/cat1_utils.c @@ -448,6 +448,11 @@ void cat1_api_enable_cat1(bool isopen) // if(!cat1_api_runtime_get_saveele_status()) { cat1_api_runtime_set_cat1_powerstat(0); + cat1_api_runtime_set_cat1_networkstat(0); + cat1_api_runtime_set_cat1_signal(0); + cat1_api_runtime_set_cat1_simstat(0); + cat1_api_runtime_set_cat1_networktype(0); + cat1_api_runtime_set_cat1_operator(NULL); } /*4G 开电有时有干扰进日志串口,因此关闭4G才开启日志串口*/ cat1_api_custom_enable_cmd_rx(true); diff --git a/code/sdk/zhihui/4gTest/cat1_porting.c b/code/sdk/zhihui/4gTest/cat1_porting.c index 7012b4ea3..2c814a1d4 100644 --- a/code/sdk/zhihui/4gTest/cat1_porting.c +++ b/code/sdk/zhihui/4gTest/cat1_porting.c @@ -274,13 +274,21 @@ errcode_t cat1_msg_callback(MESSAGE_4G_T msg, void *msg_buf, uint16_t msglen) break; case MESSAGE_4G_POWEROFF: //无参数 cat1_print_warning("MESSAGE_4G_POWEROFF"); + cat1_api_runtime_set_cat1_networkstat(0); + cat1_api_runtime_set_cat1_signal(0); + cat1_api_runtime_set_cat1_simstat(0); + cat1_api_runtime_set_cat1_networktype(0); + cat1_api_runtime_set_cat1_operator(NULL); break; case MESSAGE_4G_NETWORK_CONNECTED: //无参数 cat1_print_warning("MESSAGE_4G_NETWORK_CONNECTED"); cat1_cmd_send(CMD_4G_GET_TIME,NULL,0); + cat1_api_runtime_set_cat1_networkstat(1); break; case MESSAGE_4G_NETWORK_DISCONNECTED: //无参数 cat1_print_warning("MESSAGE_4G_NETWORK_DISCONNECTED"); + cat1_api_runtime_set_cat1_networkstat(0); + break; case MESSAGE_4G_NETWORK_STAT_CHANGED: //含signal,sim,运营商, cat1_print_warning("MESSAGE_4G_NETWORK_STAT_CHANGED netstat(%d),signal(%d),sim(%d),network(%s),imei(%s),iccid(%s),operator(%s)", diff --git a/code/sdk/zhihui/websocket/os_ws/haisi_websocket.c b/code/sdk/zhihui/websocket/os_ws/haisi_websocket.c index c42d946a6..a3a34c4de 100644 --- a/code/sdk/zhihui/websocket/os_ws/haisi_websocket.c +++ b/code/sdk/zhihui/websocket/os_ws/haisi_websocket.c @@ -752,16 +752,29 @@ int uapi_ws_send_text(const char *text) HAISI_WS_DEBUG("uapi_ws_send_text: %s\n", text); // 发送数据 HAISI_WS_WARN("uapi_ws_send_text \n"); - - int ret = WebSocketClientSendText(g_ws_client_fd, text, strlen(text)); - - HAISI_WS_DEBUG("uapi_ws_send_text ret: %d\n", ret); + // + extern int ln_ws_get_connection_state(void); + int ret = 0; + int network_status = uapi_dev_runtime_get_cat1_networkstat(); + //获取websocket连接状态 + int wsState = ln_ws_get_connection_state(); + bool wsConnected = (wsState == 2); // WS_STATE_CONNECTED = 2 + if(network_status == 1 && wsConnected == true) + { + HAISI_WS_WARN("uapi_ws_send_text success: network_status=%d, wsConnected=%d\n", network_status, wsConnected); + ret = WebSocketClientSendText(g_ws_client_fd, text, strlen(text)); + } + else + { + HAISI_WS_WARN("uapi_ws_send_text failed: network_status=%d, wsConnected=%d\n", network_status, wsConnected); + ret = -1; + } + // HAISI_WS_DEBUG("uapi_ws_send_text ret: %d\n", ret); // 更新最后发送时间 if (ret == 0) { uapi_ws_update_tx_time(); } - // 清除发送状态标志 g_ws_is_sending = 0; -- 2.17.1