TCP连接recv 返回0

BalrogMirthrandir 2016-06-16 04:01:45
各位大神帮忙,一个很诡异的问题:

我的client运行在wifi模块上,通过路由器与服务器相连。client与server建立tcp连接后,有时recv会返回0,持续一段时间后,可能recv正常,也可能仍然recv 返回0。(服务器经过长时间的大量测试,应该不会有问题)
诡异的是,当wifi模块通过其他的路由器与server连接时,不会出现该现象。记问题路由器为RouterA,将RouteB连接到RouterA,然后wifi连接到RouterB,再连接到server,也不会有这个问题。

大家帮忙分析一下,谢谢!
...全文
1532 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hanqingwu 2016-08-14
  • 打赏
  • 举报
回复
抓包比较靠谱
BalrogMirthrandir 2016-07-27
  • 打赏
  • 举报
回复
引用 2 楼 shinerise 的回复:
Linux 平台,是不是接收的时候网络断了,导致返回值是0?
接收的时候网络是好的,这个可以确定,不知道是不是路由器做了什么特殊处理。我准备搞个交换机抓个包看看
shinerise 2016-06-23
  • 打赏
  • 举报
回复
Linux 平台,是不是接收的时候网络断了,导致返回值是0?
玉怀一捧雪 2016-06-20
  • 打赏
  • 举报
回复
配置下接收超时。 接收recv = 0,我都是直接重新创建socket。

3,846

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 无线
社区管理员
  • 无线
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧