Netty的深入浅出--68.ChannelHandlerContext和channel中writeAndFlush()方法对比

我们继续往下分析

writeAndFlush()方法是有write方法和flush方法两个组成的。

Netty的深入浅出--68.ChannelHandlerContext和channel中writeAndFlush()方法对比_第1张图片Netty的深入浅出--68.ChannelHandlerContext和channel中writeAndFlush()方法对比_第2张图片

Netty的深入浅出--68.ChannelHandlerContext和channel中writeAndFlush()方法对比_第3张图片 

我们会发现在ChannelHandlerContext中也存在writeAndFlush()方法。

Netty的深入浅出--68.ChannelHandlerContext和channel中writeAndFlush()方法对比_第4张图片 

首先我们得了解到ChannelHandlerContext是依附在ChannelPipeline上面的 ,而每一个channel都会对应着有一个唯一的ChannelPipeline中

其实我们可以发现,调用ctx.channel().writeAndFlush()方法,响应数据在出栈的时候从最后一个处理器(这里所考虑的处理器是既处理请求数据又处理响应数据的处理器)进行出栈处理,最终抵达目标。

Netty的深入浅出--68.ChannelHandlerContext和channel中writeAndFlush()方法对比_第5张图片

 Netty的深入浅出--68.ChannelHandlerContext和channel中writeAndFlush()方法对比_第6张图片

 然后就是直接调用ctx.writeAndFlush()方法,这种方法对响应信息的处理是被他当前处理器的下一个处理开始一个个处理(这里所考虑的处理器是既处理请求数据又处理响应数据的处理器)

Netty的深入浅出--68.ChannelHandlerContext和channel中writeAndFlush()方法对比_第7张图片

 

 

你可能感兴趣的:(Netty网络编程)