最近在项目中使用谷歌的protoBuf协议做数据传输,.proto文件中定义的数据类型如下
syntax = "proto3";
package ykcz_msg;
/*消息类型---格式"MSGYTPE_模块_REQ/RPY_操作,不同模块消息分段"
* 消息号定义:同个模块的消息“万位相同,回报消息是对应请求消息+5000”,比如请求登陆是“10001”,那么登陆回报就是“15001”
*/
enum MsgType
{
//无类型
MSGTYPE_NO=0;
/***********交易请求类型***********/
//请求登陆
MSGYTPE_TRADE_REQ_LOGIN=10001;
/***********历史查询请求类型***********/
//请求登陆回报
MSGTYPE_TRADE_RPY_LOGIN=15001;
}
//请求消息
message RequestMsgData
{
//请求消息类型
int32 req_type = 1;
//请求消息具体内容
bytes req_body=2;
//客户ID
bytes client_id = 3;
//请求客户端连接uuid---回报消息用
bytes client_conn_uuid = 4;
//请求的上级客户端连接uuid---回报消息用
bytes sub_client_conn_uuid = 5;
//请求编号(应用层保证每次请求递增且唯一,非必填)
int32 req_no=6;
//用户登陆token
bytes client_login_token=7;
//请求预留字段,格式"key=value;key=value;",非必填;
bytes req_extends=8;
//协议版本号
bytes version = 9;
}
//回报消息
message ResponseMsgD