我试图在我的写管道中跳过多个ChannelHandler,以便发送一个小的调试ByteBuf。我知道你可以根据对象在同一管道中开发多条路径,但对于这个,我只想在管道的最后快速转储这个ByteBuf。例如:
Pipeline (Out):
Base ->编码器→计量器→加密→帧长度追加器
所以我想从Base一直到Frame length appender
您可以这样做,但我真的不建议这样做。最好让您的ChannelHandler
根据消息类型做正确的事情。
说的是这样做的:
ChannelHandler context = channel.pipeline().context(Encrypter.class);
context.write(msg);
你可以这样试试
ctx.pipeline().context("Encrypter").write("your msg");
这将获得Encrypter ChannelHandlerContext并触发下一个帧长度appender处理程序来处理。