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

最新文章

  1. php5.2.3连接sqlserver2008
  2. javascript学习笔记1-document.write
  3. Web Api系列教程第2季(OData篇)(一)——OData简介和一个小应用
  4. 余数 2015广工校赛 C 魔幻任务
  5. java环境配置笔记
  6. Apache CXFjar包目录(转)
  7. UVa 821 Page Hopping【Floyd】
  8. 【转】WCF和ASP.NET Web API在应用上的选择
  9. 1. Linux驱动开发之开篇--Makefile
  10. HAOI 硬币购物
  11. 每次调用fork()函数之后,父线程和创建出的子线程都是从fork()后开始执行
  12. C# 字符串比较大小 string.Compare()方法
  13. J2EE相关概念,EJB/JNDI/JMS/RMI等
  14. Linux(Ubuntu)使用日记------trash-cli防止误删文件
  15. 关于Unsupported major.minor version 52.0解决方案的补充
  16. s3-1 数据链路层概述
  17. vim配置文件.vimrc
  18. hdu 2647 (拓扑排序 邻接表建图的模板) Reward
  19. C#和java的对比及总结
  20. easyui datagrid 加载 历险记(dom中已经加载,fit:true 时改变浏览器大小是会显示出来)

热门文章

  1. 0418 jQuery笔记(添加事件、each、prop、$(this))
  2. POJ1222熄灯问题
  3. UVALive - 3026:Period
  4. HDU 1729
  5. [BZOJ]1076 奖励关(SCOI2008)
  6. MYSQL 二进制安装
  7. Spring MVC - 表单处理示例
  8. swift之属性
  9. CRM客户关系管理系统(一)
  10. 用js实现排列组合