基于netty的项目中使用protobuf,巧妙定义proto完成不同消息的编码和解码处理
2012-11-28 12:53
519 查看
在基于netty的项目中使用protobuf,需要处理不同的消息,因此需要不同的编码和解码方式(如下)[/code]
p.addLast("protobufDecoder", new ProtobufDecoder(Communication.TRequest.getDefaultInstance())); p.addLast("protobufDecoder", new ProtobufDecoder(Communication.TResponse.getDefaultInstance()));
但netty中每个管道仅能注册一个解码和编码的方式,经过研究,想到把这些不同的消息封装成一个消息组,在不同的处理逻辑中再get相应的消息即可,而管道注册那边只需要注册一个消息格式:
p.addLast("protobufDecoder", new ProtobufDecoder(Communication.ProtocolMessage.getDefaultInstance()));[/code]
proto文件: //封装Request和Response消息,这样netty可以统一编码和解码 message ProtocolMessage { optional TRequest tRequest=1; optional TResponse tResponse=2; }
终于成功解决了问题!
相关文章推荐
- 基于netty的项目中使用protobuf,巧妙定义proto完成不同消息的编码和解码处理 .
- Netty使用Protobuf进行编解码
- 使用protobuf定义消息
- 用protobuf定义消息及处理
- 用protobuf定义消息及处理
- 用protobuf定义消息及处理
- 使用自己的Python函数处理Protobuf中的字符串编码
- 使用protobuf定义消息
- Netty游戏服务器之四protobuf编解码和黏包处理
- netty+protobuf使用netty自带编解码器完成多种协议格式分发
- [netty]-消息编解码之google的Protobuf编解码
- protobuf extensions(extend)的消息定义及Java使用方法
- [Unity通信]一个基于socket的3DARPG网络游戏(二):消息分类处理和json的使用
- 使用protobuf传递网络消息
- iOS 整理基于socket集成Protobuf相关环境,以及将Protobuf文件转成OC文件,以及使用Protobuf
- Netty protobuf的编解码使用
- 【迷你微信】基于MINA、Hibernate、Spring、Protobuf的即时聊天系统:7.项目介绍之架构(1)
- 在Egret项目中使用protobuf
- 基于protobuf service使用rpc入门教程
- 项目中使用protobuf 3.0