goto send_websocket_message_ERROR;
}
ret = 0;
-send_websocket_message_ERROR:
+ send_websocket_message_ERROR:
bk_sleep(message_len/1000+1);
free(frame);
// bk_sleep(message_len/1000+1);
err_t ret=0;
- ip_sem.dns_done_sem = osSemaphoreNew(1, 0, NULL);
-
parsed_url = parse_url(url);//解析url
if (parsed_url.error) {
client->sockfd = lwip_socket(AF_INET, SOCK_STREAM, 0);
if (client->sockfd < 0) {
+
printf("socket creation failed %d errno: %d\r\n",client->sockfd,errno);
goto client_ERROR;
}
-lwip_setsockopt(client->sockfd, SOL_SOCKET, SO_KEEPALIVE, (const void*)&opt, sizeof(opt));
+ lwip_setsockopt(client->sockfd, SOL_SOCKET, SO_KEEPALIVE, (const void*)&opt, sizeof(opt));
+ lwip_setsockopt(client->sockfd, SOL_SOCKET, SO_REUSEADDR,(const void*)&opt, sizeof(opt));
// printf("init_websocket_client 3\n");
if(use_dns)
{
+ ip_sem.dns_done_sem= osSemaphoreNew(1, 0, NULL);
+ if(ip_sem.dns_done_sem==0)
+ {
+ goto client_ERROR;
+ }
+
ret =dns_gethostbyname(parsed_url.host,&ip,dns_found,&ip_sem);
// if(ERR_OK==ret)
{
{
printf("lwip_close_websocket_client ");
lwip_shutdown(client->sockfd,SHUT_RDWR);
+ bk_sleep(10);
int err= lwip_close(client->sockfd);
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"lwip_close %d\n",err);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"lwip_close %d %d\n",client->sockfd,err);
free(client);
}
{
stop_AudioCaptureProcess_AI();
asr_is_start=0;
+
+ // bool state = false;
+ // SendMsgToUIService(UI_AI_JUMP_TO_LISTENING_VIEW, 0, &state, sizeof(bool));
// uapi_stop_asr();
return false;
}
static int asr_client_ping=0;
+int asr_client_sockfd_last_id=-1;
+
+void asr_server_deinit(void);
+
void bk_websocket_asr(void *data) {
bool state = true;
is_bk_websocket_asr=1;
-// while (disconnect_server==0)
+ // while (1)
{
char url_buf[124]={0};
if (g_test_server_index==0)
// uapi_start_asr();
// SendMsgToUIService(UI_4G_AI_INIT_STAUS, 0,&state, sizeof(bool));
+
+ int sndbuf_len = 1024*5;
+ lwip_setsockopt(asr_client->sockfd, SOL_SOCKET, SO_SNDBUF, &sndbuf_len, sizeof(sndbuf_len));
+
uapi_start_asr();
+
+ // asr_server_deinit();
while (disconnect_server==0)
{
{
if(false== aer_result_analysis(asr_recv_buf))
{
-printf("WS_lwip_close false== aer_result_analysis(asr_recv_buf)\r\n");
+ printf("WS_lwip_close false== aer_result_analysis(asr_recv_buf)\r\n");
break;
}
}
set_ai_asr_service_init_flag(0);
free(asr_recv_buf);
+
lwip_close_websocket_client(asr_client);
asr_client=NULL;
-asr_client_ping=0;
+
+ asr_client_ping=0;
bk_sleep(1000);
// return;
}
{
if(asr_client)
{
- if(asr_client_ping)
+ if(asr_client_ping)
{
asr_server_deinit();
lwip_close_websocket_client(asr_client);