Connection reset by peer的常见原因及常见网络异常
Connection reset by peer的常见原因:
1)服务器的并发连接数超过了其承载量,服务器会将其中一些连接关闭;
如果知道实际连接服务器的并发客户数没有超过服务器的承载量,则有可能是中了病毒或者木马,引起网络流量异常。可以使用netstat -an查看网络连接情况。
2)客户关掉了浏览器,而服务器还在给客户端发送数据;
3)浏览器端按了Stop;
这两种情况一般不会影响服务器。但是如果对异常信息没有特别处理,有可能在服务器的日志文件中,重复出现该异常,造成服务器日志文件过大,影响服务器的运行。可以对引起异常的部分,使用try...catch捕获该异常,然后不输出或者只输出一句提示信息,避免使用e.printStackTrace();输出全部异常信息。
4)防火墙的问题;
如果网络连接通过防火墙,而防火墙一般都会有超时的机制,在网络连接长时间不传输数据时,会关闭这个TCP的会话,关闭后在读写,就会导致异常。 如果关闭防火墙,解决了问题,需要重新配置防火墙,或者自己编写程序实现TCP的长连接。实现TCP的长连接,需要自己定义心跳协议,每隔一段时间,发送一次心跳协议,双方维持连接。
5)JSP的buffer问题。
JSP页面缺省缓存为8k,当JSP页面数据比较大的时候,有可能JSP没有完全传递给浏览器。这时可以适当调整buffer的大小。 <%@ page buffer="100k"%>
附:常见网络异常(转自http://www.cnblogs.com/kaixin110/archive/2008/04/11/1148671.html):
第1个异常是java.net.BindException:Address already in use: JVM_Bind。该异常发生在服务器端进行new ServerSocket
(port)(port是一个0—65536的整型值)操作时。异常的原因是以为与port一样的一个端口已经被启动,并进行监听。此时用
netstat –an命令,可以看到一个Listending状态的端口。只需要找一个没有被占用的端口就能解决这个问题。
第2个异常是java.net.ConnectException: Connection refused: connect。该异常发生在客户端进行 new Socket(ip, port)
操作时,该异常发生的原因是或者具有ip地址的机器不能找到(也就是说从当前机器不存在到指定ip路由),或者是该ip存在
,但找不到指定的端口进行监听。出现该问题,首先检查客户端的ip和port是否写错了,如果正确则从客户端ping一下服务器
看是否能 ping通,如果能ping通(服务服务器端把ping禁掉则需要另外的办法),则看在服务器端的监听指定端口的程序是否
启动,这个肯定能解决这个问题。
第3个异常是java.net.SocketException: Socket is closed,该异常在客户端和服务器均可能发生。异常的原因是己方主动关
闭了连接后(调用了Socket的close方法)再对网络连接进行读写操作。
第4个异常是java.net.SocketException: (Connection reset或者 Connect reset by peer:Socket write error)。该异常
在客户端和服务器端均有可能发生,引起该异常的原因有两个,第一个就是如果一端的Socket被关闭(或主动关闭或者因为异
常退出而引起的关闭),另一端仍发送数据,发送的第一个数据包引发该异常 (Connect reset by peer)。另一个是一端退出
,但退出时并未关闭该连接,另一端如果在从连接中读数据则抛出该异常(Connection reset)。简单的说就是在连接断开后
的读和写操作引起的。
第5个异常是java.net.SocketException: Broken pipe。该异常在客户端和服务器均有可能发生。在第4个异常的第一种情况中
(也就是抛出SocketExcepton:Connect reset by peer:Socket write error后),如果再继续写数据则抛出该异常。前两个异
常的解决方法是首先确保程序退出前关闭所有的网络连接,其次是要检测对方的关闭连接操作,发现对方关闭连接后自己也要
关闭该连接。客户端错误代码10053 Software caused connection abort(软件原因导致连接中断)
Connection reset by peer的常见原因及常见网络异常相关推荐
- Netty 中 IOException: Connection reset by peer 与 java.nio.channels.ClosedChannelException: null
最近发现系统中出现了很多 IOException: Connection reset by peer 与 ClosedChannelException: null 深入看了看代码, 做了些测试, 发现 ...
- Connection reset by peer的常见原因
Connection reset by peer的常见原因: 1)服务器的并发连接数超过了其承载量,服务器会将其中一些连接关闭: 如果知道实际连接服务器的并发客户数没有超过服务器的承载量,则有可能是中 ...
- Connection reset by peer的原因
经常出现的Connection reset by peer: 原因可能是多方面的,不过更常见的原因是:①:服务器的并发连接数超过了其承载量,服务器会将其中一些连接Down掉:②:客户关掉了浏览器,而服 ...
- 分析connection reset by peer, socket write error错误原因
上次写<connection reset by peer, socket write error问题排查>已经过去大半年,当时把问题"敷衍"过去了. 但是此后每隔一段时 ...
- 重新分析connection reset by peer, socket write error错误原因
上次写<connection reset by peer, socket write error问题排查>已经过去大半年,当时把问题"敷衍"过去了. 但是此后每隔一段时 ...
- Tomcat:Connection reset by peer: socket write error
Connection reset by peer: socket write error错误分析及解决 Connection reset by peer: socket write error错误分析 ...
- error connection reset by peer 104
connection reset by peer的常见原因 1.服务器的并发连接数超过了其承载量,服务器会将其中一些连接关闭: 2. errno = 104错误表明你在对一个对端socket已经关闭的 ...
- python [Errno socket error] [Errno 104] Connection reset by peer
python [Errno socket error] [Errno 104] Connection reset by peer 原因可能是多方面的,不过更常见的原因是: ①:服务器的并发连接数超过了 ...
- connection reset by peer问题总结及解决方案
找遍了 中英文网站,翻遍了能找的角落,发现了出现故障的原因和原理,及改如何处理,这里记录下,希望能帮助到有需要的小伙伴,少走点弯路, 以上就整理内容: connection reset by peer ...
最新文章
- php recordarray,Array 数组 - [ php中文手册 ] - 在线原生手册 - php中文网
- 如何高效地爬取链家的房源信息(一)
- mysql三个层次_数据库的基本结构三个层次
- 提升系统 10 倍性能的 10 个建议!
- js checkbox复选框实现单选功能
- HTML元素水平居中和垂直居中
- 【Python】Python字符串格式化问题:%、format()与f-strings
- 多线程访问全局变量和局部变量
- Dapper基础知识三
- 华为鸿蒙os系统转正,华为鸿蒙OS系统正式官宣,转正工作提上日程,明年多款终端将使用...
- TensorFlow是什么?怎么用?终于有人讲明白了
- UIKit框架-高级控件Swift版本: 6.UIAlertView方法/属性详解
- 实现Android的消息通知栏
- 机器学习算法总结之Boosting:Boosting Tree、GBDT
- 【记录】C++中的位域
- 色彩转换系列之RGB格式与YUV格式互转原理及实现
- input类型为number时鼠标滚动出现箭头
- C语言(PTA习题)7-3 数字三角形
- 计算机桌面输入法怎么恢复,电脑桌面系统输入法不见了?输入法不见了找回方法/步骤...
- 服务器搭建网站:出现503是什么意思?怎么排查?
热门文章
- HBase数据压缩方式的介绍与实战
- 华天动力OA系统的一“技”之长
- 8点1氪|阿里巴巴第三财季营收破千亿;传滴滴拟裁员25%;饿了么口碑超30亿美元融资已逐步到位...
- 2023年你最值得了解的信息技术-AI篇(一)
- 利用python爬虫获取中国最好大学排名和B站排行榜视频
- 速度传感器19200-06-05-10-00本特利
- 模糊时间的柔性车间调度问题-Python实现遗传算法求解
- MAC表,ARP表,路由表总结
- AjaxPro-ajaxMethod 实例
- 2019年工行总行本部暑期实习生才选AI面试经历