// 检查超时
if ((uint32_t)osKernelGetTickCount() - last_activity > AI_RECEIVE_TIMEOUT_MS) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Receive timeout, reconnecting...");
+
+ tcp_connection_state_t current_state = tcp_get_connection_state(chat_client->tcp_handle);
+ if(current_state!=TCP_STATE_CONNECTED)
+ {
+ break;
+ }
+
if(disconnect_server == 0)
{
last_activity = (uint32_t)osKernelGetTickCount();
if ((uint32_t)osKernelGetTickCount() - last_activity > AI_RECEIVE_TIMEOUT_MS) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ASR receive timeout, reconnecting...");
- if(disconnect_server == 0 )
+ tcp_connection_state_t current_state = tcp_get_connection_state(asr_client->tcp_handle);
+ if(current_state!=TCP_STATE_CONNECTED)
+ {
+ break;
+ }
+ if(disconnect_server == 0)
{
last_activity = (uint32_t)osKernelGetTickCount();
continue;
if(disconnect_server == 0)
{
+ tcp_connection_state_t current_state = tcp_get_connection_state(tts_client->tcp_handle);
+ if(current_state!=TCP_STATE_CONNECTED)
+ {
+ break;
+ }
last_activity = (uint32_t)osKernelGetTickCount();
continue;
}