ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error"异常原因分析

转载 2012年02月14日 10:36:58
在网上查找了了下原因,大概归结为: 
ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error的原因是由于处理http连接时,正在输出内容时,用户关闭了IE,会出现一个"ClientAbortException",属于I/O处理中出现的一个异常,应用服务器应该会捕捉。 
Connection reset by peer的原因: 
经常出现的Connection reset by peer: 原因可能是多方面的,不过更常见的原因是: 
①:服务器的并发连接数超过了其承载量,服务器会将其中一些连接Down掉; 
②:客户关掉了浏览器,而服务器还在给客户端发送数据; 
③:浏览器端按了Stop 

多人都说是客户端造成的,没有办法控制,而且后台会记录这个异常,日志也会疯狂爆满,时间长了,肯定会DOWN掉的.
本人觉得大多数可能是第二条问题的原因引起的,即大多数浏览器阻止了窗口的弹出,相当于客户关掉了浏览器,可等效于浏览器端按了Stop ,而这时服务器端还在给客户端发送数据,所以产生了上异常,经过本人的测试,发现只需将网站地址(或本机地址)加入"受信任的站点"即可解决问题,因为这样设置了以后,浏览器就不会阻止窗口的弹出了,这样浏览器就会等到服务器端发送完数据后再进行下面的动作.因而异常就不会发生了.

大概设置方式如下:"工具->internet(选项..)->安全->受信任的站点->站点",将地址加入即可.


网友提供了如下解决方法:

可以修改tomcat的catalina.jar包,就在server目录下,只要替换org.apache.catalina.connector.ClientAbortException类即可,原来类的代码很简单,太长贴不了,我就贴里面我唯一修改注释过的那个方法: package org.apache.catalina.connector; import java.io.IOException; public final class ClientAbortException extends IOException { public ClientAbortException(String message, Throwable throwable) { this.message = null; this.throwable = null; //注释掉这行即可 //this.message = message; this.throwable = throwable; } } 我就注释掉了“//this.message = message;”这一行,就是把任何扔进来的错误信息都忽略,就可以防止tomcat这个让人讨厌的报错动作了。 


Connection reset by peer: socket write error错误分析及解决

Connection reset by peer: socket write error错误分析:常出现的Connection reset by peer: 原因可能是多方面的,不过更常见的原因是: ...
  • zangpuu
  • zangpuu
  • 2011年07月20日 09:47
  • 206456

Redis经常连接不上还报 Connection reset by peer: socket write error的错误的解决办法

网上提供思路普遍的几种就是: ①:服务器的并发连接数超过了其承载量,服务器会将其中一些连接Down掉;   ②:客户关掉了浏览器,而服务器还在给客户端发送数据;   ③:浏览器端...
  • LiMing_0820
  • LiMing_0820
  • 2017年10月16日 19:49
  • 1012

Connection reset by peer: socket write error错误分析及解决

文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/3_program/java/javajs/20090909/174547.html...
  • smh821025
  • smh821025
  • 2011年05月19日 11:15
  • 12974

Connection reset by peer: socket write error错误分析及解决

Connection reset by peer: socket write error 这个跟数据库没有关系,当客户端发出请求(request)后,如果还没有完全获得服务端的响应(response...
  • XingKong22star
  • XingKong22star
  • 2014年09月11日 10:55
  • 8137

连接redis时:Connection reset by peer: socket write error&&mysql:Access denied for user 'root'@'localhos

1、连接redis时:Connection reset by peer: socket write error 2、mysql:Access denied for user 'root'@'loca...
  • Ledger24
  • Ledger24
  • 2017年07月31日 10:55
  • 926

java报错:Connection reset by peer: socket write error

用java做excel导出时,报错: ClientAbortException: java.net.SocketException: Connection reset by peer: socket...
  • zhang52open
  • zhang52open
  • 2015年02月06日 16:12
  • 2144

ClientAbortException,Connection reset by peer: socket write error

extremetable导出excel,弹出一个下载窗口,这时不点下载而点取消,则报下面的异常:       ClientAbortException  Caused by: java.net.So...
  • xiaoxiaoxuewen
  • xiaoxiaoxuewen
  • 2012年06月27日 22:07
  • 13573

Connection reset by peer: socket write error错误分析及解决 .

Connection reset by peer: socket write error错误分析: 常出现的Connection reset by peer: 原因可能是多方面的,不过更常见的原...
  • txj236
  • txj236
  • 2015年03月03日 14:55
  • 1105

redis Error: Connection reset by peer 解决

我的redis版本:3.2.8. redis安装教程,参考官方网站: https://redis.io/download $ wget http://download.redis.io/...
  • u014182411
  • u014182411
  • 2017年05月23日 11:15
  • 8154

Connection reset by peer: socket write error错误分析

网上网友有提到过许多种情况,例如 ①:服务器的并发连接数超过了其承载量,服务器会将其中一些连接Down掉;   ②:客户关掉了浏览器,而服务器还在给客户端发送数据;   ③:浏览器端按了St...
  • u010571316
  • u010571316
  • 2014年09月20日 15:12
  • 1152
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error"异常原因分析
举报原因:
原因补充:

(最多只允许输入30个字)