Netty组件介绍(转)

http://www.tuicool.com/articles/mEJvYb

为了还好的懂得以及进一步深刻Netty,我们先整体认识一下Netty用到的组件和它当合Netty架构中是怎么协调工作之。Netty应用被必要的机件:

  • Bootstrap or ServerBootstrap
  • EventLoop
  • EventLoopGroup
  • ChannelPipeline
  • Channel
  • Future or ChannelFuture
  • ChannelInitializer
  • ChannelHandler

Bootstrap,一个Netty应用普通由一个Bootstrap开始,它根本作用是安排一体Netty程序,串联起各个零部件。

Handler,为了支持各种协商及处理多少的方式,便出生了Handler组件。Handler主要用于处理各种风波,这里的波很广阔,比如可是接二连三、数据接受、异常、数据易等。

ChannelInboundHandler,一个极其常用之Handler。这个Handler的打算就是是拍卖接收至数量时之风波,也就是说,我们的业务逻辑一般就是是摹写在这个Handler里面的,ChannelInboundHandler就是用来处理我们的为主工作逻辑。

ChannelInitializer,当一个链接建立时,我们需要了解怎么来接受或者发送数据,当然,我们有各式各样的Handler实现来拍卖它,那么ChannelInitializer便是为此来安排这些Handler,它会供一个ChannelPipeline,并将Handler加入到ChannelPipeline。

ChannelPipeline,一个Netty应用基于ChannelPipeline机制,这种机制亟待负让EventLoop和EventLoopGroup,因为它三单还和波或事件处理相关。

EventLoops的目的是吧Channel处理IO操作,一个EventLoop可以吧多单Channel服务。

EventLoopGroup会包含多只EventLoop。

Channel代表了一个Socket链接,或者其它和IO操作相关的机件,它和EventLoop一起就此来参与IO处理。

Future,在Netty中负有的IO操作都是异步的,因此,你免可知即时得知消息是否受正确处理,但是我们可了同样会晤当她实施好或者直接登记一个监听,具体的落实就是经Future和ChannelFutures,他们好注册一个监听,当操作实践成功还是黄时监听会自动触发。总之,所有的操作都见面回来一个ChannelFuture。

相关文章