ChannelPipeline, ChannelHandler和ChannelHandlerContext形成如上图的结构,
- 一个ChannelPipeline由多个ChannelHandlerContext形成双向链表
- 每一个ChannelHandler被一个ChannelHandlerContext封装
- ChannelHandler的每个方法,均持有一个ChannelHandlerContext,ChannelHandler通过ChannelHandlerContext形成链式调用
public class MyInboundHandler extends {@link ChannelInboundHandlerAdapter} {
{@code @Override}
public void channelActive({@link ChannelHandlerContext} ctx) {
System.out.println("Connected!");
ctx.fireChannelActive();
}
}
- ChannelHandler有2个子接口
ChannelInboundHandler和ChannelOutboundHandler一个代表请求从外部进入netty内部,如典型的socket的读,一个代表将内部的数据通过socket写出到对端的socket,如典型的socket的写