Netty 4.x怎么处理多个protobuf协议?
protected void initChannel(SocketChannel ch) throws Exception {
ChannelPipeline p = ch.pipeline();
//解码用
p.addLast("frameDecoder", new ProtobufVarint32FrameDecoder());
//构造函数传递要解码成的类型 这里如果再有一个LocalDates的话应该怎么处理
p.addLast("protobufDecoder", new ProtobufDecoder(LocalTimeProtocol.LocalTimes.getDefaultInstance()));
//编码用
p.addLast("frameEncoder", new ProtobufVarint32LengthFieldPrepender());
p.addLast("protobufEncoder", new ProtobufEncoder());
//业务逻辑用 这里如果再有一个LocalDateClientHandler的话应该怎么处理
p.addLast("handler", new LocalTimeClientHandler());
}
希望给出的方案不是
if (arg1 instanceof Localtime){}
else if (arg1 instancdof LocalDate){}
因为实体太多!
目前的想法时根据接收过来的arg1定义一个ID,根据ID调用相应的ProtobufDecoder;下面的Handler也一样。但是由于刚接触Netty不熟,所以特来求助。
查找方案中有看到一遍相似的文章:http://www.cnblogs.com/Solstice/archive/2011/04/03/2004458.html
想法可能不成熟,希望各位踢教!
麻烦各位最好给出Demo或者有类似实现的开源项目地址的,多谢!
相关推荐
MINA2与Netty4比较分析
从源码和网上资料,总结了Mina2与Netty4的区别,主要是分析线程模型的Buffer,还提到了Netty4中引入的Google的优秀的序列化工具ProtoBuf
NettyGameServer-基于Netty4X框架构建的高性能手机游戏服务器-支持TCP-UDP-HTTP-WebSocket多种网络连接协议-采用Protobuf自定义协议.zip
NettyGameServer_基于Netty4X框架构建的高性能手机游戏服务器_支持TCP_UDP_HTTP_WebSocket多种网络连接协议_采用Protobuf自定义协议.zip电赛硬件设计、控制算法与调试手册
网络游戏开发_Netty4X框架_多协议支持_高性能分布式游戏服务器_基于TCP_UDP_HTTP_WebSocket协议栈_Protobuf自定义通信协议_RPC远程调用_My.zip
网络游戏开发_Netty4X框架_多协议支持_高性能分布式游戏服务器_基于TCP_UDP_HTTP_WebSocket协议栈_Protobuf自定义通信协议_RPC远程调用_My
netty案例,netty4.1中级拓展篇二《Netty使用Protobuf传输数据》
前言介绍 在netty数据传输过程中可以有很多选择,比如;字符串、json、xml、java对象,但为了保证传输的数据具备;良好的通用性、方便的操作性和传输的高性能,我们可以选择protobuf作为我们的数据传输格式。目前protobuf可以支持;C++、C#、Dart、Go、Java、Python等,也可以在JS里使用。知识点;ProtobufDecoder、ProtobufEncoder、Pr...
netty-netty-4.1.32.final-remark.zip
tony老师netty


