channelactive 什么时候触发
5个回答
展开全部
以Netty 4.0.32.Final为例,在Channel注册EventLoop、绑定SocketAddress和连接ChannelFuture的时候都有可能会触发ChannelInboundHandler的channelActive方法的调用。
具体方法调用链请参考:
1) AbstractChannel.AbstractUnsafe.register --> AbstractChannel.AbstractUnsafe.register0 --> DefaultChannelPipeline.fireChannelActive --> AbstractChannelHandlerContext.fireChannelActive --> AbstractChannelHandlerContext.invokeChannelActive --> ChannelInboundHandler.channelActive
2) AbstractChannel.AbstractUnsafe.bind --> DefaultChannelPipeline.fireChannelActive --> AbstractChannelHandlerContext.fireChannelActive --> AbstractChannelHandlerContext.invokeChannelActive --> ChannelInboundHandler.channelActive
3) AbstractNioChannel.AbstractNioUnsafe.connect --> AbstractNioChannel.AbstractNioUnsafe.fulfillConnectPromise --> DefaultChannelPipeline.fireChannelActive --> AbstractChannelHandlerContext.fireChannelActive --> AbstractChannelHandlerContext.invokeChannelActive --> ChannelInboundHandler.channelActive
具体方法调用链请参考:
1) AbstractChannel.AbstractUnsafe.register --> AbstractChannel.AbstractUnsafe.register0 --> DefaultChannelPipeline.fireChannelActive --> AbstractChannelHandlerContext.fireChannelActive --> AbstractChannelHandlerContext.invokeChannelActive --> ChannelInboundHandler.channelActive
2) AbstractChannel.AbstractUnsafe.bind --> DefaultChannelPipeline.fireChannelActive --> AbstractChannelHandlerContext.fireChannelActive --> AbstractChannelHandlerContext.invokeChannelActive --> ChannelInboundHandler.channelActive
3) AbstractNioChannel.AbstractNioUnsafe.connect --> AbstractNioChannel.AbstractNioUnsafe.fulfillConnectPromise --> DefaultChannelPipeline.fireChannelActive --> AbstractChannelHandlerContext.fireChannelActive --> AbstractChannelHandlerContext.invokeChannelActive --> ChannelInboundHandler.channelActive
展开全部
应该是客户端去和服务端连接成功时触发
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
客户端主动close或者服务器断开连接的时候会回调此函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
引用来自“预兆师”的答案 引用来自“石头哥哥”的答案 嗯 channel实际就是一个客户端和server的一个抽象的管道 ,netty封装了网络的底层 所以 你不必太多去掀开一些它封装的东西来处理 对于还不熟悉的开发者来讲的 话;你可以这样处理 在连接上来的...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
原先说是七月份,估计是推迟了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询