linux网络编程 Connection reset by peer错误

iamzhaiwei 2012-03-14 09:56:03
服务器向客户端发送了数据,客户端没有接收就关闭了,服务器read就会发生Connection reset by peer错误。
我试验了一下,确是如此。
同学们遇到过这个问题吗?
...全文
513 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq120848369 2012-03-16
  • 打赏
  • 举报
回复
TCP协议中有RST标志位, 不管原因是什么, 正确的判断返回值-1, errno != EINTR && errno != EAGAIN就可以认定对端出错, 立即cloes即可.
nossiac 2012-03-15
  • 打赏
  • 举报
回复
Connection reset by peer 本质是收到一个标记了reset位的数据包。
这个错误的原因有几种:
1. connect到一个不存在的端口。
2. 对方故意发送RST包(一些网络破坏程序会这么干)。
3. 对方故障(中途掉线,程序重启)等原因,导致socket失效,或者不再是原来那个socket。(你遇到的应该就是这种)
quwei197874 2012-03-15
  • 打赏
  • 举报
回复
端口重用了吧
justkk 2012-03-15
  • 打赏
  • 举报
回复
客户端调用close()时,服务器应该会读到一个EOF,read()返回0
youngwolf 2012-03-15
  • 打赏
  • 举报
回复
这个算是什么错误?
如果你来设计,你觉得应该怎样才正确,就你说的情况。

23,217

社区成员

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

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