2013-12-09 62 views
0

* netty版本:4.0 *多个请求/响应编码器

您好!我打算使用netty编写客户端来处理二进制协议。

该协议非常简单,它支持多种类型的请求/响应。通常一个请求被启动并且它包含一个字节来通知它是什么类型的请求(对于服务器端),但是响应不包含任何信息。它假定客户正在等待该特定响应。

最初我的想法是构建一组编码器/解码器,并使用ChannelDuplexHandler对它们进行分组。

我只是想知道,如果最好的方法是有几种类型的管道(每个请求/响应对一个)或使用一个单一的管道,然后以某种方式找出响应什么处理程序将照顾有效载荷。

问候

回答

1

您可以让所有的人都在一个流水线,只是用instanceof检查,如果你能处理或下一个处理程序应该做的,也可以动态修改管道。

+0

嗨,诺曼,谢谢你的帮助。我相信在出站路由上这应该没问题,但是对于入站,我拥有的是字节。而在响应中,我没有消息类型的标识符。协议通常使用请求中的第6个字节来标识请求,但没有响应标识。我认为它假定它总是用于请求/响应传统阻塞场景。有关如何处理这个问题的任何建议?问候 –