netty笔记1-基本概念

一、关于Channel

Channel是一个连接,每个Channel对应一个ChannelPipeline

ChannelPipeline 是 ChannelHandler的容器,按顺序执行ChannelHandler

ChannelHandler用于在数据达到时处理业务逻辑,它被添加到ChannelPipeline中时都会创建一个与其一一对应的ChannelHandlerContext

ChannelHandlerContext用来管理它所关联的ChannelHandler的前后关系

二、关于EventLoop

NioEventLoopGroup是一个线程池,可以包含多个NioEventLoop

NioEventLoop是一个线程,包含一个Selector,可以处理多个Channel事件,但一个Channel只会注册到一个EventLoop

Bootstrap是应用程序网络层配置的容器。

ChannelFuture是一个Channel的异步结果事件

三、底层实现

在Netty编程中,将select 切换成 epoll十分方便。

代码上需要修改两个地方: NioEventLoopGroup 替换成 EpollEventLoopGroup NioServerSocketChannel 替换成 EpollServerSocketChannel

这里需要引入的依赖:netty-transport-native-epoll 或者直接使用 netty-all

原文地址:https://www.cnblogs.com/wangbin2188/p/14816769.html