Netty网络抽象的代表
Channel---Socket
EventLoop---控制流、多线程处理、并发
ChannelFuture---异步通知
Channel接口的实现
Channel是对socket的封装,其包含下面的一些实现
EmbeddedChannel
LocalServerChannel
NioDatagramChannel
NioSctpChannel
NioSocketChannel
EvenetLoop接口
EventLoop定义了各组件的一些关系,这些关系是
一个EventLoopGroup包含一个或者多个EventLoop
一个EventLoop在它的生命周期内只和一个Thread绑定
所有的EventLoop处理的I/O事件都将在它专有的Thread上被处理
一个Channel在它的生命周期内只注册于一个EventLoop
一个EventLoop可能会被分配给一个或多个Channel
ChannelFuture接口
由于netty的I/O操作是异步的,因此当我们执行一个操作的时候可能不会立即返回结果,所以我们需要一种在之后的某个时间点确定其结果的方法。为此,Netty提供了一个ChannelFuture接口,其addListener()方法注册了一个ChannelFutureListener,以便在某个操作完成的时候得到通知
ChannelHandler和ChannelPipeline
ChannelHandler
充当了所有处理入站和出站数据的应用程序逻辑的容器
ChannelPipeline