netty笔记1-基本概念
一、关于Channel
Channel是一个连接,每个Channel对应一个ChannelPipeline
ChannelPipeline 是 ChannelHandler的容器,按顺序执行ChannelHandler
ChannelHandler用于在数据达到时处理业务逻辑,它被添加到ChannelPipeline中时都会创建一个与其一一对应的ChannelHandlerContext
ChannelHandlerContext用来管理它所关联的ChannelHandler的前后关系
二、关于EventLoop
NioEventLoopGroup是一个线程池,可以包含多个NioEventLoop
NioEventLoop是一个线程,包含一个Selector,可以处理多个Channel事件,但一个Channel只会注册到一个EventLoop
Bootstrap是应用程序网络层配置的容器。
在Netty编程中,将select 切换成 epoll十分方便。
代码上需要修改两个地方: NioEventLoopGroup 替换成 EpollEventLoopGroup NioServerSocketChannel 替换成 EpollServerSocketChannel
这里需要引入的依赖:netty-transport-native-epoll 或者直接使用 netty-all