C++开发中使用protobuf协议开发流程纪要

本文详细介绍了在C++开发中使用protobuf进行通讯协议设计和开发的流程,包括如何定义字段关键字,C++数据类型与protobuf类型对应,访问器的使用,嵌套类型的设计,以及protobuf消息协议的修改流程。利用protobuf可以实现跨平台数据传输,节省带宽,支持灵活的数据选择传输。
摘要由CSDN通过智能技术生成

通讯协议中使用protobuf的好处:

  1. 可以跨平台传输数据;
  2. 在数据传输的过程中,可以自动压缩空间,节省带宽;
  3. 相比于传结构体,传数据更加的自由,可以有选择的传输字段,例如:服务器增加了一个数据字段,客户端却没有增加,但是客户端不会报错。

protobuf在Linux下安装说明:

sudo apt-get install autoconf automake libtool curl make g++ unzip
git clone https://github.com/google/protobuf.git
cd protobuf
./autogen.sh
./configure
make
make check
sudo make install

在代码中,如果需要使用protobuf的序列化和反序列化的通讯功能,首先需要编写.proto文件,proto文件由代码中传递数据信息的模式而来。
protobuf消息定义是google定义的结构化数据格式,用于数据的序列化和反序列化,内容包含:
package protocol;
message …{…}
enum …{…}

1 如何定义字段关键字:

	protobuf关键字包含三个关键字:
		required 必须字段
		optional 可选字段     ----  if( )
		repeated 可以看作是在传递一个数组的值  ----  for( ; ; )

进一步说明:
required字段是必须设置该字段的值,在一个数据包发送的时候,它是该数据包每次都会发送的数据字段;
如果该数据包内并不是每次都会发送该数据字段,则该数据字段为optional可选字段,可以选择性的设与不设;在多if语句中,如遇到选择性发送的字段,也则该数据字段为optional可选字段;
在遇到一个for循环放入数据的时候或是数组进行放入参数的时候,会使用repeated关键字;或者是进入一组集中放入数据信息的情况,也可以使用repeated关键字,利用add_访问器放入参数;补充说明一点,在for()循环放入多个数据信息的时候,可把repeated和嵌套类型结合使用。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员之光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值