Netty 何时抛出 java.io.IOException: Connection Reset by Peer?

Kar*_*k S 3 java serversocket netty socket.io

当我使用 netty 向网络服务器发送请求时。我得到以下异常。什么会导致这个异常?

java.io.IOException: Connection reset by peer
        at sun.nio.ch.FileDispatcherImpl.read0(Native Method) ~[na:1.7.0_25]
        at sun.nio.ch.SocketDispatcher.read(Unknown Source) ~[na:1.7.0_25]
        at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source) ~[na:1.7.0_25]
        at sun.nio.ch.IOUtil.read(Unknown Source) ~[na:1.7.0_25]
        at sun.nio.ch.SocketChannelImpl.read(Unknown Source) ~[na:1.7.0_25]
        at io.netty.buffer.UnpooledHeapByteBuf.setBytes(UnpooledHeapByteBuf.java:237) ~[netty-all-4.0.6.Final.jar:na]
        at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:867) ~[netty-all-4.0.6.Final.jar:na]
        at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:227) ~[netty-all-4.0.6.Final.jar:na]
        at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:87) ~[netty-all-4.0.6.Final.jar:na]
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:497) ~[netty-all-4.0.6.Final.jar:na]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:465) ~[netty-all-4.0.6.Final.jar:na]
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:359) ~[netty-all-4.0.6.Final.jar:na]
        at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101) ~[netty-all-4.0.6.Final.jar:na]
        at java.lang.Thread.run(Unknown Source) ~[na:1.7.0_25]
Run Code Online (Sandbox Code Playgroud)

use*_*421 5

此错误的常见原因是您写入的连接已被另一端关闭。换句话说,应用程序协议错误。还有其他原因,但这是最常见的。

NB Netty 与此无关。