Netty 4.x怎么处理多个protobuf协议?

End_x End_x 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

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

vince_zw

NettyGameServer-基于Netty4X框架构建的高性能手机游戏服务器-支持TCP-UDP-HTTP-WebSocket多种网络连接协议-采用Protobuf自定义协议.zip

NettyGameServer_基于Netty4X框架构建的高性能手机游戏服务器_支持TCP_UDP_HTTP_WebSocket多种网络连接协议_采用Protobuf自定义协议.zip电赛硬件设计、控制算法与调试手册

nihao2025123

网络游戏开发_Netty4X框架_多协议支持_高性能分布式游戏服务器_基于TCP_UDP_HTTP_WebSocket协议栈_Protobuf自定义通信协议_RPC远程调用_My.zip

网络游戏开发_Netty4X框架_多协议支持_高性能分布式游戏服务器_基于TCP_UDP_HTTP_WebSocket协议栈_Protobuf自定义通信协议_RPC远程调用_My

2501_91769822

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

weixin_42745418
评论 4
收藏 已收藏
分享
返回顶部
End_x
Java 51,407 成员 86,129 内容