文档章节

google proto buf学习

y
 yizhangxyz
发布于 2017/03/28 10:18
字数 221
阅读 16
收藏 0

protobuf是Google开发的一个序列化框架,类似XML,JSON,基于二进制,比传统的XML表示同样一段内容要短小得多。通过protobuf,可以很轻松的调用相关方法来完成业务数据的序列化与反序列化

1.proto文件,google buffer的原型文件。通过protoc.exe --cpp_out生成对应的cpp文件,
通过protoc.exe –I生成对应的二进制文件(.proto文件)。syntax = "proto2";表示协议版本。


2.repeated类型的使用:相当于std的vector。 

message Person {  
  required int32 age = 1;  
  required string name = 2;  
}  
message Family {  
  repeated Person person = 1;  
}  

Family family;  
Person* person;  
  
person = family.add_person();  // 添加一个家庭成员,John  
person->set_age(25);  
person->set_name("John");  
  
person = family.add_person();  // 添加一个家庭成员,Lucy  
person->set_age(23);  
person->set_name("Lucy");  
  
// 显示所有家庭成员  
int size = family.person_size();  
for(int i=0; i<size; i++)   {  
     Person psn = family.person(i);  
     cout << i+1 << ". " << psn.name() << ", 年龄 " << psn.age() << endl;  

© 著作权归作者所有

共有 人打赏支持
y
粉丝 1
博文 67
码字总数 42366
作品 0
成都
online游戏服务器架构--数据库及事件相关

Online服务器的第三部分就是数据层,sendrequestto_db开始了数据层的处理逻辑: int sendrequesttodb(int cmd, spritet p, int body_len, const void bodybuf, uint32t id); 在该函数里首先...

晨曦之光
2012/04/10
615
0
mac 上安装Protobuffer

介绍 Protocol Buffers (ProtocolBuffer/ protobuf )是Google公司开发的一种数据描述语言,类似于XML能够将结构化数据序列化,可用于数据存储、通信协议等方面。现阶段支持C++、JAVA、Pytho...

solate
2016/12/05
118
0
ProtoBuf与Python结合使用初步

ProtoBuf与Python结合使用初步 丛林听雨2016-11-04138 阅读 python Protocol Buffers是 Google 公司开发的一种 数据描述语言 ,类似于 XML 能够将结构化数据 序列化 ,可用于数据存储、 通信...

丛林听雨
2016/11/04
0
0
Protocol Buffers 3.0 稳定版发布

Protocol Buffers 3.0 发布,该版本与上一个稳定版 2.6.1 版本比较,主要改进包括: 全面的 3.0 协议版本 proto3: 废弃 optional 关键字 Removed non-zero default values and field presen...

oschina
2016/07/30
7.9K
17
python处理http请求中的protobuf

一、定义自己的protobuf 这里我定义一个简单的protobuf,用于实现通过http中的protobuf上传一个人的个人信息,以及通过http请求获取服务器上的个人信息。由于本例只是说明protobuf的使用,所...

翼动动空
2016/05/09
803
0

没有更多内容

加载失败,请刷新页面

加载更多

你为什么在Redis里读到了本应过期的数据

一个事故的故事 晚上睡的正香突然被电话吵醒,对面是开发焦急的声音:我们的程序在访问redis的时候读到了本应过期的key导致整个业务逻辑出了问题,需要马上解决。 看到这里你可能会想:这是不...

IT--小哥
今天
2
0
祝大家节日快乐,阖家幸福! centos GnuTLS 漏洞

yum update -y gnutls 修复了GnuTLS 漏洞。更新到最新 gnutls.x86_64 0:2.12.23-22.el6 版本

yizhichao
昨天
5
0
Scrapy 1.5.0之选择器

构造选择器 Scrapy选择器是通过文本(Text)或 TextResponse 对象构造的 Selector 类的实例。 它根据输入类型自动选择最佳的解析规则(XML vs HTML): >>> from scrapy.selector import Sele...

Eappo_Geng
昨天
4
0
Windows下Git多账号配置,同一电脑多个ssh-key的管理

Windows下Git多账号配置,同一电脑多个ssh-key的管理   这一篇文章是对上一篇文章《Git-TortoiseGit完整配置流程》的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有...

morpheusWB
昨天
5
0
中秋快乐!!!

HiBlock
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部