我特别关注的是对端意外关闭(例如进程被杀)的情况。似乎Netty并不可靠地触发通道关闭/断开连接事件,有时会触发而有时则不会。此外,它也不一定会因为连接重置而抛出SocketException异常。
值得一提的是,我还尝试向通道写入数据,但这样做仍然能够正常工作,而没有抛出任何异常或触发其他事件。
如果有区别的话,我是在Windows上使用Netty 3.3.0.Final进行测试的。
我特别关注的是对端意外关闭(例如进程被杀)的情况。似乎Netty并不可靠地触发通道关闭/断开连接事件,有时会触发而有时则不会。此外,它也不一定会因为连接重置而抛出SocketException异常。
值得一提的是,我还尝试向通道写入数据,但这样做仍然能够正常工作,而没有抛出任何异常或触发其他事件。
如果有区别的话,我是在Windows上使用Netty 3.3.0.Final进行测试的。
public void channelUnregistered(ChannelHandlerContext ctx) throws Exception {
ctx.fireChannelUnregistered();
//Your logic goes here...
}