Netty ByteToMessageDecoder中的多条消息会发生什么情况?
我有一个关于ByteToMessageDecoder的问题。Netty ByteToMessageDecoder中的多条消息会发生什么情况?,netty,Netty,我有一个关于ByteToMessageDecoder的问题。decode方法具有签名 public void decode(ChannelHandlerContext ctx, ByteBuf in, List<Object> out) 公共无效解码(ChannelHandlerContext ctx、ByteBuf输入、列表输出) 其中,out是管道中下一个处理程序的输出。如果通过多次调用out.add()插入多条消息,下一个处理程序将看到什么 比如说, 管道是ByteToMe
decode
方法具有签名
public void decode(ChannelHandlerContext ctx, ByteBuf in, List<Object> out)
公共无效解码(ChannelHandlerContext ctx、ByteBuf输入、列表输出)
其中,out
是管道中下一个处理程序的输出。如果通过多次调用out.add()
插入多条消息,下一个处理程序将看到什么
比如说,
ByteToMessageDecoder->SimpleChannelInboundHandler
ByteToMessageDecoder
的decode
方法中,我调用out.add(“第一”)
,out.add(“第二”)
,out.add(“第三”)
假设
SimpleChannelInboundHandler
的消息处理方法具有签名受保护的无效channelRead0(ChannelHandlerContext ctx,String message)
,我将看到消息
参数的哪些内容?channelRead0
是否会被调用三次?列表中包含的每条消息都将通过fireChannelRead(…)调用转发给下一个处理程序。因此,在您的示例中,您的处理程序将被调用三次。列表中包含的每条消息都将通过fireChannelRead(…)调用转发到下一个处理程序。因此,在您的示例中,您的处理程序将被调用三次。我想尝试一下并找出答案是不可能的?我想尝试一下并找出答案是不可能的?