通过Netty中的多个InboundHandler或OutboundHandler传递数据
文档中的示例提供了解码器->编码器->BusinessLogicHandler流。通过Netty中的多个InboundHandler或OutboundHandler传递数据,netty,Netty,文档中的示例提供了解码器->编码器->BusinessLogicHandler流。 我想知道的是如何将数据传递给一行中的多个InboundHandler和多个OutboundHandler。从我所能分辨的情况来看,解码器将字节解码为POJO。然后,在BuginessLogicHandler(InboundHandlerAdapter的子类)中,它执行ctx.writeAndFlush()。是这个动作将数据发送出去,编码器(出站)将数据转换回字节。如果这个假设是正确的,那么如何从InboundH
我想知道的是如何将数据传递给一行中的多个InboundHandler和多个OutboundHandler。从我所能分辨的情况来看,解码器将字节解码为POJO。然后,在BuginessLogicHandler(InboundHandlerAdapter的子类)中,它执行
ctx.writeAndFlush()
。是这个动作将数据发送出去,编码器(出站)将数据转换回字节。如果这个假设是正确的,那么如何从InboundHandler1->InboundHandler2开始呢?因为我假设如果在InboundHandler1中执行ctx.writeAndFlush()
,那么InboundHandler2永远不会得到数据,因为现在数据将返回管道?您必须调用其中一个fire*()ChannelHandlerContext的方法将事件转发给下一个处理程序。并且,要转发给下一个处理程序的数据可以作为ChannelHandlerContext.fireChannelRead(Object)的参数传递
必须调用ChannelHandlerContext的fire*()方法之一,才能将事件转发给下一个处理程序。并且,要转发给下一个处理程序的数据可以作为ChannelHandlerContext.fireChannelRead(Object)的参数传递