首页 > 代码库 > ClientAbortException .. socket write error 问题
ClientAbortException .. socket write error 问题
今天在开发web pdf打印时,servlet往客户端写数据时,遇到这么个问题:
Caused by: ClientAbortException: java.net.SocketException: Software caused connection abort: socket write error at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:406) at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480) at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:310) at org.apache.catalina.connector.OutputBuffer.writeByte(OutputBuffer.java:450) at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:77) at com.cnpc.print.PrintServlet.doPost(PrintServlet.java:83) ... 25 more Caused by: java.net.SocketException: Software caused connection abort: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113) at java.net.SocketOutputStream.write(SocketOutputStream.java:159) at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:215) at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480) at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366) at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:240) at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:119) at org.apache.coyote.http11.AbstractOutputBuffer.doWrite(AbstractOutputBuffer.java:192) at org.apache.coyote.Response.doWrite(Response.java:517) at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:401) ... 30 more
现象是,勾选6行数据,点打印就没有响应了,把窗口关掉时,服务器后台报上面的错,勾5行数据就没问题,怀疑几个地方可能存在问题:
往socket写PDF数据时,PDF数据有问题。(不向socket写,改成写文件,文件内容正常,排除。)
页面请求PDF时是用layer.js的iframe弹窗方式,勾选多行时url参数太长。(改为弹窗后执行一段js提交form,参数放到form中,还是报错,排除。)
ie打开PDF流有问题。(改为下载文件形式,问题依旧存在。排除。)
最后,发现就是问题2.导致的,原来是把勾选的数据的所有列序列成json后后台传,改为只传id列,数据减少了很多,没问题了,但是明明被我排除了的,不明白,靠。
本文出自 “一些” 博客,请务必保留此出处http://2924037.blog.51cto.com/2914037/1583865
ClientAbortException .. socket write error 问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。