zoukankan      html  css  js  c++  java
  • Connection Reset By Peer 解析

    linux网络编程 Connection reset by peer错误
    服务器向客户端发送了数据,客户端没有接收就关闭了,服务器read就会发生Connection reset by peer错误。
    我试验了一下,确是如此。
    同学们遇到过这个问题吗?

    ------解决方案--------------------------------------------------------
    客户端调用close()时,服务器应该会读到一个EOF,read()返回0 
    ------解决方案--------------------------------------------------------
    Connection reset by peer 本质是收到一个标记了reset位的数据包。
    这个错误的原因有几种:
    1. connect到一个不存在的端口。
    2. 对方故意发送RST包(一些网络破坏程序会这么干)。
    3. 对方故障(中途掉线,程序重启)等原因,导致socket失效,或者不再是原来那个socket。(你遇到的应该就是这种) 
    ------解决方案--------------------------------------------------------

    TCP协议中有RST标志位, 不管原因是什么, 正确的判断返回值-1, errno != EINTR  && errno != EAGAIN就可以认定对端出错, 立即cloes即可.


    from:http://hi.baidu.com/chemical_liang/item/7f84c9213a95d19ab7326316

  • 相关阅读:
    第二阶段团队站立会议06
    第二阶段团队站立会议05
    Spring
    JVM
    线程池
    java内存模型
    线程
    接口与抽象类
    动态绑定,多态,static
    同步异步,并发并行概念的理解
  • 原文地址:https://www.cnblogs.com/wangfengju/p/6172411.html
Copyright © 2011-2022 走看看