netty基于socket,实现了一个高性能的,nio的网络通信框架。
我们来看一下他的核心组件:
Channel:
通道,是数据传输的载体, 可以被打开或关闭,连接或者断开。 如:NioServerSocketChannel
回调:
就是回调函数。
Future:
ChannelFuture 使我们可以在通道上注册监听, 异步的处理操作。
事件和ChannelHandler:
数据的出站入站都会触发一系列事件, channelHandlet是触发事件的回调函数。
EventLoop:
事件轮询器, 每个channel分配一个EventLoop, EventLoop处理所有事件. 把事件分给channelHanddler , 安排进一步动作.。
多个EventLoop组成EventLoopGroup。
ChannelPipeline:
每个channel 对应一个channelPipeline, channelPipeline持有这个通道的channelHanddler链.
ServerBootstrap Bootstrap:
ServerBootstrap 服务端 负责引导绑定服务.
ServerBootstrap 客户端 负责引导绑定服务.
ChannelInitializer:
当一个新客户端来的时候, 服务端新建一个channel,
ChannelInitializer负责把channelHanddler实例 添加 到这个channel的channelPipeline中.