// 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);
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)",
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;