最近又遇到一个RST, 一眼就看出来了!

xiaoxiao2021-02-28  148

        最近又遇到一个RST问题,  一眼就看出来了!

        问题是这样的, 客户端send后, 两次recv数据, 结果, 我用的是工程封装的RECV函数(考虑了超时), 它会在每次RECV后自动close socket.  结果我二次调用RECV的时候, 总是出现错误。 看了一下网络包, 发现客户端发了一个RST,  这就很明显了, 接收缓冲区中仍有数据没取完(等第二次RECV来取), 结果第一次RECV后就关了socket, 自然, 要用RST来告知异常关闭。

        查到问题后, 修改起来就很容易了,  调用RECV的时候, 加了控制选项, 不自动关闭socket.

        幸好以前深入了解过RST, 不然就比较蛋疼了。

涛歌依旧 认证博客专家 排名第一 点链接学人工智能 公众号免费领资料 ❤️零基础入门进阶人工智能 ❤️欢迎关注涛哥公众号,免费领海量学习资料。涛哥:毕业后就职于华为和腾讯。微信:ai_taogeyijiu
转载请注明原文地址: https://www.6miu.com/read-17663.html

最新回复(0)