通道初始化器ChannelInitializer

ChannelInitializer的类图:

 

通道初始化器ChannelInitializer实际上为Inbound通道处理器,主要目的是为程序员提供了一个简单的工具,用于在某个Channel注册到EventLoop后,对这个Channel执行一些初始化操作。ChannelInitializer虽然会在一开始会被注册到Channel相关的pipeline里,但是在初始化完成之后,ChannelInitializer会将自己从pipeline中移除,不会影响后续的操作。

ChannelInitializer是一个抽象类,不能直接使用,需要重写initChannel方法。

ChannelInitializer的使用场景:

  • 在ServerBootstrap初始化时,为监听端口accept事件的Channel添加ServerBootstrapAcceptor
  • 在有新链接进入时,为监听客户端read/write事件的Channel添加用户自定义的ChannelHandler

 

posted @ 2020-01-19 14:39  codedot  阅读(3081)  评论(0编辑  收藏  举报