什么情况下会导致服务器发包完成,但客户端很久(大约一分钟)才收到包

lxslove 2013-03-08 10:58:26
如题
首先服务器带宽没问题的,但不知道为何会出现这种情况
服务器在send函数返回成功后会输出日志提示成功发送,但客户端大约要等一分钟,有时候甚至几分钟后才哗啦哗啦地收到一大堆包,什么原因会导致这种情况呢?
...全文
427 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
弱水垂钓 2013-03-14
  • 打赏
  • 举报
回复
同意4楼,抓抓包看看最清楚了!
wangzhaoyang121 2013-03-14
  • 打赏
  • 举报
回复
客户端的recv()最后的标志位是MSG_WAITALL?有的改为0; 是不是还设定接收时间超时?
qq120848369 2013-03-08
  • 打赏
  • 举报
回复
先确保代码没有问题, lo测试一下吧。
mymtom 2013-03-08
  • 打赏
  • 举报
回复
一般是网络问题
freetstar 2013-03-08
  • 打赏
  • 举报
回复
send返回表明发送数据包完毕,并不意味这客户端的recv函数能够豆接受成功啊。。 很有可能网络情况不好,发生拥塞,阻塞
fdl19881 2013-03-08
  • 打赏
  • 举报
回复
用wireshark抓包看看吧。一切都清楚了,就知道是网络问题还是程序问题了。 是否真正发送成功出去,发送后,是否收到对方的ACK确认包,是否有重传了,是否中间收到icmp报错的包。等等。

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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