关于回调到initChannel
来源:6-3 添加ChannelHandler

慕数据5174071
2020-02-04
老师,有个问题请教下
添加channelhandler的入口,是在用户代码的initChannel中的ch.pipeline. add()方法添加完之后,又回调到了initChannel。这个应该怎么理解呢?
是不是因为用户代码中添加了多个handler(有多行 ch.pipeline.add),所以每添加一个都要回调回去,把后面的handler都给添加了,是这么理解吗。
那用户代码的initChannel最开始是在什么时候触发的呢
写回答
1回答
-
闪电侠
2020-02-07
initChannel 是在 channel 初始化的时候调用的哦,步骤是:
用户代码在往 channel 中,添加一个 ChannelInitializer,然后 channel register 成功之后,会回调这个 ChannelInitializer 的 init 方法,这个 init 方法的作用就是把用户实际的 handler 给添加到 handler,然后结束,可以参考 ChannelInitializer 的 channelRegistered 方法012020-10-30
相似问题