作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
public class ChannelActiveHandler extends SimpleChannelInboundHandler {
@Override
public void channelActive(ChannelHandlerContext ctx) throws Exception {
System.out.println("channel open");
// add closeListener
ctx.channel().closeFuture().addListener(future->{
// do somthing when channel is close!
System.out.println("channel close! state:"+ctx.channel().isActive());
});
super.channelActive(ctx);
}
@Override
public void channelInactive(ChannelHandlerContext ctx) throws Exception {
// do somthing when channel is close!
System.out.println("channel inactive!");
super.channelInactive(ctx);
}
}
如上所述,Netty中的channelInactive()
和channel.closeFuture().addListener()
有什么不同。当 channel 关闭时,将调用两个方法。
这两种方法能达到同样的效果吗?
最佳答案
在您的用例中,这些没有什么不同。也就是说,在 channelInactive(...)
中,您还可以延迟将事件触发到管道中的下一个处理程序。通常,如果您在处理程序中使用 channelActive
,您还应该根据需要使用其他方法。
关于java - Netty中的channelInactive和channe.closeFuture().addListener()有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61652147/
我是一名优秀的程序员,十分优秀!