我使用Netty3.5.9(jdk1.6.43)进行套接字连接,大多数时候,它工作得很好,但有时会显示:
与远程套接字的java.io.IOException:A连接已由该套接字重置
at sun.nio.ch.FileDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:33)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:234)
at sun.nio.ch.IOUtil.read(IOUtil.java:201)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:236)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:321)
at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:280)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:200)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:896)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:735)2013-7-2 8:54:18 org.jboss.netty.channel.SimpleChannelUpstreamHandler空警告:异常,请实现cfca.xfraud.collector.system.sockettype.netty.NettyAnalyzerHandler.exceptionCaught()进行正确处理。
我的exceptionCaught()方法是:
公共无效exceptionCaught(ChannelHandlerContext ctx,ExceptionEvent e)引发异常{
log.error("", e.getCause());
super.exceptionCaught(ctx, e);
}虽然IOException有时会显示,但整个应用程序似乎没有任何不良影响,仍然可以很好地工作,那么真正的问题是什么,以及我应该如何更改代码以防止异常。
发布于 2013-07-04 13:04:36
这没什么好担心的。这意味着远程对等方关闭了连接,并在读取完成时netty检测到它。因此,您可以安全地忽略该异常。
https://stackoverflow.com/questions/17422490
复制相似问题