SslHandler和'已建立的连接被主机中的软件中止'?

Per*_*ler 7 netty

我正在使用安全聊天示例使用netty编写SSL服务器.

我有自动化测试

  1. 打开一个ssl连接
  2. 来回沟通一会儿
  3. 关闭频道

(即客户完成后关闭频道)

测试全部通过,我的管道中有另一个处理器,它实现了'exceptionCaught'.有时,当客户端关闭通道时,会在服务器上生成ExceptionCaught事件

java.io.IOException: An established connection was aborted by the software in your host machine
   at sun.nio.ch.SocketDispatcher.read0(Native Method)
   at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
   at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:218)
   at sun.nio.ch.IOUtil.read(IOUtil.java:186)
   at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:359)
   at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:66)
   at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:364)
   at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:238)
   at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:38)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
   at java.lang.Thread.run(Thread.java:722)
Run Code Online (Sandbox Code Playgroud)

通过在SSLHandler的上方和下方添加一个简单的日志记录下游处理程序,我确定SSLHandler似乎在客户端关闭通道后生成下游写入事件,但我不确定这是否相关.

关于这里发生了什么的任何指示?