
ProtoBuf
文章平均质量分 92
老汉忒cpp
重生之双非学cpp非常荔枝
展开
-
网络版本的通讯录青春版(protobuf)
Protobuf 还常⽤于通讯协议、服务端数据交换场景。因为我们主要目的只是为了学习protobuf,因此对于客户端,原本应该具备:新增⼀个联系⼈◦删除⼀个联系⼈◦查询通讯录列表◦查询⼀个联系⼈的详细信息这样四个功能。但是在这里我们只实现新增联系人的功能。对于服务器端,我们同样应该具备增删改查的功能,这里我们也只实现增的功能。这里我们需要用到一个Httplib库:cpp-httplib 是个开源的库,是⼀个c++封装的http库,使⽤这个库可以在linux、原创 2024-12-04 16:12:17 · 566 阅读 · 0 评论 -
proto 3 语法详解(2)
oneof 类型oneof 类型如果消息中有很多可选字段, 并且将来同时只有⼀个字段会被设置, 那么就可以使⽤oneof加强这个⾏为,也能有节约内存的效果。升级通讯录⾄ 2.3 版本通讯录 2.3 版本想新增联系⼈的其他联系⽅式,⽐如qq或者微信号⼆选⼀,我们就可以使⽤ oneof 字段来加强多选⼀这个⾏为。oneof 字段定义的格式为: oneof字段名字段1;字段2;... }注意:可选字段中的字段编号,不能与⾮可选字段的编号冲突。•。原创 2024-12-03 13:06:09 · 834 阅读 · 0 评论 -
proto 3 语法详解(1)
字段规则字段规则消息的字段可以⽤下⾯⼏种规则来修饰:•singular :消息中可以包含该字段零次或⼀次(不超过⼀次)。proto3 语法中,字段默认使⽤该规则。•repeated :消息中可以包含该字段任意多次(包括零次),其中重复值的顺序会被保留。可以理解为定义了⼀个数组。更新 contacts.proto ,PeopleInfo消息中新增字段,表⽰⼀个联系⼈有多个消息类型的定义与使⽤。原创 2024-12-02 18:30:12 · 1077 阅读 · 0 评论 -
ProtoBuf快速上手(C++)
在快速上⼿中,会编写第⼀版本的通讯录 1.0。在通讯录 1.0 版本中,将实现:•对⼀个联系⼈的信息使⽤ PB 进⾏序列化,并将结果打印出来。•对序列化后的内容使⽤ PB 进⾏反序列,解析出联系⼈信息并打印出来。•联系⼈包含以下信息: 姓名、年龄。原创 2024-12-01 13:48:14 · 1033 阅读 · 0 评论 -
初识ProtoBuf以及环境搭建(Win和Ubuntu)
序列化:把对象转换为字节序列的过程 称为对象的序列化。反序列化:把字节序列恢复为对象的过程 称为对象的反序列化。什么情况下需要序列化和反序列化?存储数据:当你想把的内存中的对象状态保存到⼀个⽂件中或者存到数据库中时。⽹络传输:⽹络直接传输数据,但是⽆法直接传输对象,所以要在传输前序列化,传输完成后反序列化成对象。例如我们之前学习过 socket 编程中发送与接收数据。我们之前在学习HTTP阶段简单使用过json来进行序列化和反序列化操作,除了json还有XML和这里要介绍的ProtoBuf。原创 2024-11-30 01:14:32 · 1249 阅读 · 0 评论