Connection reset by peer -- 客户端非正常中断连接

Connection reset by peer – 客户端非正常中断连接

IOException: Connection reset by peer 的真正原因是什么?

Connection reset by peer 这种客户端的问题一般服务端没有很好的处理方案。

有可能是客户端处于弱网环境,或者客户端进程突然被 kill 掉了

Connection reset by peer 和 ClientAbortException: java.io.IOException: Broken pipe 这两个问题一般是伴生的。

public String save(HttpServletRequest request, HttpServletResponse response) {

    String body = "";
    try {
        body = request.getReader().lines().collect(Collectors.joining(System.lineSeparator()));
        // ....
	} catch (IOException e) {
        e.printStackTrace();
    }
 }   
2022-06-18 06:18:23.902+0800 ERROR [demo-app,6949e64459034ab4,6949e64459034ab4] [http-nio-10666-exec-149] o.a.c.c.C.[.[.[/].[dispatcherServlet].log:175 Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.io.UncheckedIOException: org.apache.catalina.connector.ClientAbortException: java.io.IOException: Connection reset by peer] with root cause
java.io.IOException: Connection reset by peer
	at java.base/sun.nio.ch.FileDispatcherImpl.read0(Native Method)
	at java.base/sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
	at java.base/sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:276)
	at java.base/sun.nio.ch.IOUtil.read(IOUtil.java:245)
	at java.base/sun.nio.ch.IOUtil.read(IOUtil.java:223)
	at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:358)
	at org.apache.tomcat.util.net.NioChannel.read(NioChannel.java:160)
	at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1312)
	at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1226)
	at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:805)
	at org.apache.coyote.http11.Http11InputBuffer.access$400(Http11InputBuffer.java:42)
	at org.apache.coyote.http11.Http11InputBuffer$SocketInputBuffer.doRead(Http11InputBuffer.java:1185)
	at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:101)
	at org.apache.coyote.http11.Http11InputBuffer.doRead(Http11InputBuffer.java:249)
	at org.apache.coyote.Request.doRead(Request.java:640)
	at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:316)
	at org.apache.catalina.connector.InputBuffer.realReadChars(InputBuffer.java:383)
	at org.apache.catalina.connector.InputBuffer.checkCharBufferEof(InputBuffer.java:609)
	at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:434)
	at org.apache.catalina.connector.CoyoteReader.read(CoyoteReader.java:108)
	at org.apache.catalina.connector.CoyoteReader.readLine(CoyoteReader.java:163)
	at java.base/java.io.BufferedReader$1.hasNext(BufferedReader.java:574)
	at java.base/java.util.Iterator.forEachRemaining(Iterator.java:132)
	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipelin
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值