文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>奇怪的RST,奇怪的SEND

奇怪的RST,奇怪的SEND

时间:2006-02-20  来源:wmytch

一般说来,设置了SO_LINGER后,close会发送RST,在我们的C/S结构中,server端发现数据总是接收不完,并且每次接收的都不一样,虽然知道这是client端close后发送了RST,但是不论如何设置SO_LINGER,都没有办法解决。看了这篇文章,怀疑是不是server端向client发送了数据,而client却没有recv,于是在客户端添加了一个recv,果然如此。接下来的问题就是server为什么会发送数据而client没有recv,这个倒是简单,看了下代码,我自己写的,但是我也不知道为什么会多了一个send,其实之前也看到了这个,当时也觉得很奇怪,印象当中从流程来说不应该有这一个send存在,当时也没有调文档出来看看,sigh.....   这两天又碰到了类似的问题,这回倒也不是多了send或者少了recv,但确实是接收缓冲区中有未recv的数据而此时send端发送完毕close了,于是recv端发送了RST.这是通过tcpdump看到的。剩下来的问题就是为什么会有未recv的数据。检查后发现原来是send/recv函数中的flag是0,该成MSG_WAITALL后问题解决。
相关阅读 更多 +
排行榜 更多 +
弓箭手战士酷跑

弓箭手战士酷跑

飞行射击 下载
三角洲行动全面战场攀升A点进攻指南

三角洲行动全面战场攀升A点进攻指南

飞行射击 下载
僵尸射手世界大战

僵尸射手世界大战

飞行射击 下载