Netty中的ChannelHandlerContext.writeAndFlush与其 channel写的区别
发布时间
阅读量:
阅读量
1、ctx.writeAndFlush()方法的事件传播路径
ctx.writeAndFlush()方法在Pipeline链中,以当前节点为起点,向前定位首个Outbound类型的Handler,并将对象传递至该节点。若该对象确定无需继续经过其他Outbound类型的Handler进行处理,则采用该方法完成数据的发送操作。

2、ctx.channel().writeAndFlush()方法的事件传播路径
ctx.channel().writeAndFlush()方法在Pipeline链中,会从最后一个Outbound类型的Handler出发,将对象依次向前传递。若确定所创建的对象需经过后续Outbound类型的Handler进行处理,则应使用该方法。
当某个Inbound类型的Handler完成相关逻辑处理后,调用ctx.channel().writeAndFlush()方法时,对象将从Pipeline链中最后一个Outbound类型的Handler开始,依次向前传播。相较于ctx.writeAndFlush()方法,其传播路径更为复杂,具体流程如图所示。
![]
全部评论 (0)
还没有任何评论哟~
