prtbuf消息定义原则.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
prtbuf消息定义原则.doc

參1.使用protobuf的enum定于消息的编号,也就是消息的类型。 參2.会为每个具有消息体的消息定义一个对应的protobuf message。例如Login_Request 会有一t?对应Log in Request消息。 參3.会为每个消息大类定义一个消息,例如命令消息全部包含在message Command中,请 求消息全部包含在Request消息中,应答消息全部包含在Response消息中,指示消息全部包 含在Indication消息中。 4.对于应答消息,并非总是成功的,因此在应答消息中还会包含另外2个字段。一个用于描 述应答是否成功,一个用于描述失败时的字符串信息。对于有多个应答的消息来说,可能会包 含是否为最后一个应答消息的标i只。应答的序号类似与网络数据包被分包以后,协议要合并时, 需要知道分片在包中的具体位置)。因此Response看起来想这样: 參 5.最会定义一个大消息,把Command、Request、Response、Indication全部封装 在一起,让后在通信的时候都动大消息开始编解码。大消息看起来想下面这样。。 6.发送数据和接收数据。 6.消息处理(C++ ) 7. wireshark 抓包 1 网络通信涉及到消息的定义,不管是使用二进制模式、xml、json等格式。消息都可以大体 的分为命令消息、请求消息、应答消息和指示消息4大消息类型。一般情况下每个消息还还 有包含一个序列号和一个能够唯一区分类型类型的消息编号,编号可以使用字符串、整数或 者枚举等。 1.使用protobuf的enum定于消息的编号,也就 是消息的类型I 我会为每个系统都定义一个MSG枚举。包含系统用到的所有消息的枚举编号 01 enum MSG 02 { 03 LoginRequest = 0 04 Login_Rcsponsc = 0 05 06 XXX_Request = 0 07 XXX_Request = 0 08 09 XXX_Command = 0 10 XXX_Indication = 0 12} 会为每个具有消息体的消息定义一个对应的 protobuf message。例如 Login_Request 会有一 个对应LoginRequest消息。 message LoginRequest { required bytes username = 1; required string password = 2; 5} 会为每个消息大类定义一个消息,例如命令消息全 部包含在message Command中,请求消息全苦吹 含在Request消息中,应答消息全部包含在 Response消息中,指示消息全部包含在Indication 消息中 也就是我会有下面4个protobuf message: 01 message Command 02 {//包含所有的XXXCommand消息 03 } 04 message Request 05 {//包含所有的XXXRequest消息 06} 07 message Response 08 {//包含所有的Response消息 09 } message indication {//包含所有的Indication消息。 12} 对于应答消息,并非总是成功的,因此在应答消息 中还会包含另外2个字段。一个用于描述应答是否成 功,一个用于描述失败时的字符串信息。对于有多个 应答的消息来说,可能会包含是否为最后一个应答消 息的标识。应答的序号(类似与网络数据包被分包以 后,协议要合并时,需要知道分片在包中的具体位置X 此Response看起来想这样: 2 {34 2 { 3 4 5 6 required optional required required bool result = 1; bytes crror_dcscription = 2; bool last_block = 3; fixed32 blockindex = 4; 7 //其他的字段为XXXResponse.. 8} 5.最后我会定义一个大消息,把Command、 Request、Response、Indication 全部封装在一起, 让后在通信的时候都动大消息开始编解码。大消息看 起来想下面这样。。 01 message Message 02 { 03 required MSG type = 1; 04 05 required fixed32 sequence = 2; 06 optional Request request =3 ? 07 optional Response res

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档