netty有哪些组件?
Posted top啦它
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了netty有哪些组件?相关的知识,希望对你有一定的参考价值。
1、BootStrap:这个相当于是一个启动器,通过它将管道、事件循环、channelHandle等进行加载控制。
2、EventLoopGroup:这个我把它理解为一个Reactor池,可以存在一个处理连接事件的Reactor池以及处理io的Reactor池,池里面的EventLoop就是事件循环,就是一个EventLoop中可以绑定多个channel,并对其进行监听,这其实也可以理解为EventLoop就是网络编程中的selector,channel就是socket,绑定的事件就是selectKey。
3、EventLoop
4、ChannelHandle:这是保证netty灵活性和可扩展性的基础,netty服务器的各种功能通过他来实现的,这些channelHandle可以用来共享与channel也可以独立分配与channel。
8、ChannelHandleContext:这个就可以认为是对ChannelHandle的封装,因为ChannelHandle要在channelPipeline中存放,而且是以链表的形式,这个上下文就相当于LinkedList中的Node,channelHandle就是node中的data,然后通过pre和next将channelContext联系在一起。
5、ChannelPipeline
6、CHannel:一个channel就相当于socket,netty为其分配了channenPipeline。
7、CHannelFuture:netty是异步非阻塞的,他的io操作是异步的,不能立刻得到结果,我们就可以加一个钩子通过ChannelFuture来实现,就是加一个listener,当io完成就会触发监听器做相应的处理。
以上是关于netty有哪些组件?的主要内容,如果未能解决你的问题,请参考以下文章