1
有什么方法可以设置多个protobufEncoder/protobufDecoder吗?Protobuf和Pipeline问题
让我解释一下我的疑难问题具有将从 客户端向服务器发送一个命令,服务器获取指令并做根据 到command.Now响应(“答案”)的一些工作该服务器可以是: 字符串的长度,或者是整数平方(顺序不确定)
我的问题是,现在我能做些什么,该客户端可以从服务器接收至少两个 不同的反应?两者都是使用Protobuf和 进行“编码”,我需要做的是服务器可以发送至少两个不同的 响应?也都是用Protobuf“编码”。两者都是带有protobuf的“解码器”。
netty的ProtobufDecoder设置两个不同的protobufEncoder /解码器是不可能的。
让我们来看看下面的网状例如,解码器只能接收解码器对象
LocalTimeServerPipelineFactory:
public ChannelPipeline getPipeline() throws Exception {
ChannelPipeline p = pipeline();
p.addLast("frameDecoder", new ProtobufVarint32FrameDecoder());
p.addLast("protobufDecoder", new ProtobufDecoder(LocalTimeProtocol.Locations.getDefaultInstance()));
p.addLast("frameEncoder", new ProtobufVarint32LengthFieldPrepender());
p.addLast("protobufEncoder", new ProtobufEncoder());
p.addLast("handler", new LocalTimeServerHandler());
return p;
}
在此先感谢和最诚挚的问候。
石英
如果我用包络协议包装protobuf消息。例如: 。添加一个编码器和解码器,其目的是为protobufEncoder和protobufDecoder添加一个消息头。 感觉如何? –
zhanghua
2012-08-17 07:17:36