TIwilliam hill官网
直播中

李婧

7年用户 175经验值
私信 关注

请问导致CC3200 TCP长时间无数据接收的原因是什么?怎么解决?

本帖最后由 一只耳朵怪 于 2018-6-8 09:51 编辑

使用CC3200做TCP Client,起一个task用作 TCP REV
接收函数为:g_BytesRx = sl_Recv(TCP_iSockID, tcp_g_RecvBuf, g_ulLength, 0);
给CC3200连续发TCP命令,都可以接收并处理,当等一段时间不发送数据后,再发,就无法接收了。请问这种情况我该如何解决?
设置为NonBlocking也是一样的,谢谢!

回帖(2)

张飞雄

2018-6-7 07:35:53
你需要有心跳,这是TCP 协议规定的,长时间没数据连接要断掉,要不然你一直空占网络资源。
                                                                         如果有答案已经回答了您的问题,请标注为已回答。
Please close your question if it has been solved. 
------------------------------------------------------------------
举报

王凤兰

2018-6-7 07:50:20
引用: 一个黄人 发表于 2018-6-7 07:35
你需要有心跳,这是TCP 协议规定的,长时间没数据连接要断掉,要不然你一直空占网络资源。
                                                                         如果有答案已经回答了您的问题,请标注为已回答。
Please close your question if it has been solved. 

我的程序在WiFi断开之后一直卡在sl_Recv(),超时时间设置为10s,怎么断开这个socket呢,或者说怎么从sl_Recv()跳出然后返回呢
举报

更多回帖

发帖
×
20
完善资料,
赚取积分