关于Client_Abort_Exception异常的分析和解决

摘要:
因此,异常实际上已生成,但已被吞入。在某些情况下,一些工具会接受响应。getOutputStream()构造的编写器没有忽略异常,而是选择抛出,因此您看到了这个问题;因此,您使用tomcat作为servlet容器,这有助于忽略这个问题;3.将抛出ClientAbortException,但我发现有时提交是正常的?

1、什么情况下会出现“ClientAbortException:  java.net.socketException:  Broken pipe”?

   答:客户端非正常(标准握手协议)退出连接,体现在http请求,可能是用户等待页面响应过程中,关闭浏览器,或停止了请求。

 

2、为什么有的应用报这个问题,有的应用确没有打错误日志?

   答: 分析发现,其实其他应用也会有这个错误,但是tomcat的专门coyoteWriter的写方法,已经替你忽略掉写的时候发生的异常。因此,异常其实是产生的,只不过被吞了。 

          但为什么有的还打印出日志呢?发现有些场景,有些工具会拿取response.getOutputStream()来构造的writer,没有忽略异常,而是选择了抛出,因此你看到了这个问题;

          所以,你使用tomcat为servlet容器他帮忙你忽略了这个问题; 

 

3、会抛ClientAbortException,但我发现有的时候提交正常?(即问题本质是啥?

   答: 分析很久,排除眼花,后来发现,对一个对端已经关闭的socket调用两次write(和tcp 关闭握手有关), 第二次将会生成SIGPIPE信号, 该信号默认结束进程,会抛出Broken pipe的exception.

 

其他的解决方案: 如果也不愿意产生异常,我们可以借助nginx,http请求有个proxy_ingnore_client_abort:on的配置;

免责声明:文章转载自《关于Client_Abort_Exception异常的分析和解决》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇MFC位图按钮微服务-服务注册与发现下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

CORS(跨域资源共享)

引用自阮一峰的网络日志:http://www.ruanyifeng.com/blog/2016/04/cors.html 侵删 一、浏览器将CORS请求(通过ajax方式)分成两类: 1.简单请求:需要同时满足以下两大条件 1).请求方法为:HEAD、GET、POST之一 2).HTTP的请求头信息不超出以下字段:Accept、Accept-Languag...

全局拦截各种http请求

http请求无非就是ajax、src、href、表单 functionhookAJAX() { XMLHttpRequest.prototype.nativeOpen =XMLHttpRequest.prototype.open; var customizeOpen = function(method, url, async, use...

JMeter性能测试,完整入门篇

原文转自:https://blog.csdn.net/lovesoo/article/details/78579547 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件。相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是每个测试人员都必须要掌握的工具之一。 本文为JMeter性能测试完...

使用JMETER进行REST API测试

我确定你在这里是因为你需要加载测试Json Rest API。这并不奇怪,因为Rest API现在越来越受欢迎。 这本指南的目的:帮助您进行负载测试一个Json的REST API通过一个具体的例子,OctoPerf的Json的REST API。 本指南将完全为您提供以下知识: 使用Http POST请求处理Rest API API登录, 从Json...

loadrunner---<二>---菜鸟对cookie的思考

http://www.cnblogs.com/Pierre-de-Ronsard/archive/2012/11/19/2772630.html loadrunner---<二>---菜鸟对cookie的思考 lr是怎么将cookie添加到录制的脚本中的?lr中cookie是做什么的? 首先将解决两个疑问: 1--什么是cookie?-- C...

C++发送HTTP请求---亲测可行(转)

转自:http://hi.baidu.com/benbearlove/item/1671c23017575825b3c0c53f 环境:xp sp3,vs2008,在静态库中使用 MFC [cpp]view plaincopy #include<afxwin.h> #include<stdio.h> #include<w...