
Protobuf
JMW1407
这个作者很懒,什么都没留下…
展开
-
protobuf + Mysql+实现消息反射查询返回数据
Protobuf 自动反射消息根据 type name 创建 Message ,利用GetReflection()反射填充参考根据 type name 创建 Message ,利用GetReflection()反射填充用 DescriptorPool::generated_pool() 找到一个DescriptorPool对象,它包含了程序编译的时候所链接的全部 protobuf Message types。用 DescriptorPool::FindMessageTypeByName() 根据 t原创 2020-07-29 15:22:34 · 1195 阅读 · 0 评论 -
一种自动反射消息类型的 Google Protobuf 网络传输方案
Protobuf 自动反射消息Protobuf 自动反射消息网络编程中使用 protobuf 的两个问题参考Protobuf 自动反射消息参考这篇文章要解决的问题是:在接收到 protobuf 数据之后,如何自动创建具体的 Protobuf Message 对象,再做的反序列化。“自动”的意思是:当程序中新增一个 protobuf Message 类型时,这部分代码不需要修改,不需要自己去注册消息类型。其实,Google Protobuf 本身具有很强的反射(reflection)功能,可转载 2020-07-28 15:48:10 · 634 阅读 · 0 评论 -
一文教你入门什么是Json?以及C++实现的Json的序列化和反序列化demo
Json的序列化和反序列化Json(JavaScript Object Notation)1、定义2、特征3、JSON格式 :键值对形式和数组形式3.1、键值对形式(对象形式)3.2、数组4、6种数据类型(value的内容 )5、序列化和反序列化5.1、定义5.2、C++简单实现JSON序列化与反序列参考Json(JavaScript Object Notation)1、定义客户端向服务器端发送请求后,服务器端怎么才能把用户需要的数据返回给客户端呢。这时我们就需要用一个指定的格式将数据,按照指定格式返原创 2020-07-24 16:10:59 · 1188 阅读 · 1 评论 -
高性能网络框架Nebula——protobuf协议设计1.0——TCP通讯协议设计
protobuf协议设计——TCP通讯协议设计TCP通讯协议设计1、背景应用2、TCP通讯协议设计2.1、protobuf3版Msg(messege文件)2.1、MsgHead和MsgBody的编解码参考TCP通讯协议设计1、背景应用Protobuf被用于生产环境的即时通讯、埋点数据采集、消息推送、redis和mysql数据代理等。2、TCP通讯协议设计2.1、protobuf3版Msg(messege文件)syntax = "proto3";// import "google/protobu原创 2020-07-21 16:43:32 · 760 阅读 · 0 评论 -
ProtoBuf(Google Protocol Buffers)—— 序列化 & 反序列化过程 总结
ProtoBuf—— 序列化 & 反序列化过程序列化 & 反序列化过程1、序列化:toByteArray()2、反序列化:parseFrom(byteArray)序列化 & 反序列化过程1、序列化:toByteArray()序列化过程描述: 编码 & 数据存储两个过程1、创建一个输出流2、计算出序列化后的二进制流长度,分配该长度的空间,以备以后将每个字段填充到该空间3、判断每个字段是否有设置值,有值才会进行编码若optional 或 repeated 字段转载 2020-07-21 15:39:14 · 3728 阅读 · 0 评论 -
ProtoBuf(Google Protocol Buffers)—— repeated 修饰字段注意点(packed修饰)
ProtoBuf—— (repeated 修饰 )repeated1、定义2、使用事项参考repeated1、定义repeated类型相当于STL的vector,可以用来存放N个相同类型的内容。proto2 中还有 repeated 可选,在proto3 中则已经被摒弃并且默认格式为pack。packed修饰只用于repeated字段 或 基本类型的repeated字段,用在其他字段,编译 .proto 文件时会报错2、使用事项repeated 修饰的字段有两种表达方式:messa原创 2020-07-20 17:11:46 · 5514 阅读 · 1 评论 -
ProtoBuf(Google Protocol Buffers)—— C++开发具体教程
ProtoBuf—— (C++开发)教程C++开发)教程1、定义你的 protocol 格式1.1、protocol 字段格式1.2、指定字段规则1.3、.proto文件2、编译你的 Protocol Buffers3、The Protocol Buffer API(message设置)4、标准 Message 方法5、解析和序列化6、写入一个 Message7、读取一个 Message8、扩展一个 Protocol Buffer参考C++开发)教程操作流程1、如何在一个 .proto 文件中定义原创 2020-07-13 16:55:28 · 1858 阅读 · 0 评论 -
ProtoBuf(Google Protocol Buffers)—— 开发教程
ProtoBuf—— 开发教程1、https://blog.youkuaiyun.com/tennysonsky/article/details/73810180protobuf入门教程(一):简介和安装2、https://blog.youkuaiyun.com/tennysonsky/article/details/73920680protobuf入门教程(二):消息类型3、https://blog.youkuaiyun.com/tennysonsky/article/details/73920767protobuf入门教程(三原创 2020-07-13 15:58:37 · 235 阅读 · 0 评论 -
ProtoBuf(Google Protocol Buffers)—— 反射原理以及反射具体流程介绍
ProtoBuf—— 反射原理解析ProtoBuf—— 反射原理1、反射原理1.1、反射机制的背景1.2、定义1.3、反射原理关注的一些问题1.4、反射原理的优势和应用2、ProtoBuf反射原理——获取并改造 元信息2.1 、 .proto 文件2.2 、 反射原理过程2.3 、 反射相关的类和API2.3.1、google::protobuf::Message2.3.2、 google::protobuf::Descriptor2.3.3、 google::protobuf::Reflection2.原创 2020-07-09 16:24:49 · 6954 阅读 · 1 评论 -
ProtoBuf(Google Protocol Buffers)—— 编码结构简介(Varint 、ZigZag 、64-bit、32-bit、Length-delimited)
ProtoBuf简介ProtoBuf1、背景2、定义和特点3、结构和使用3.1、编码结构3.2、不同编码类型(wire_type ) 使用3.2.1、Varints 编码简介3.2.1.1、Varints 编码和解码举例3.2.1.2、Varints 编码特征和问题3.2.1.3、Varints 编码——int32实例(int64、uint32、uint64同)3.2.1.3、Varints 编码——bool、enum实例3.2.2、ZigZag 编码3.2.2.1、ZigZag 编码——sint32(si原创 2020-07-08 11:08:57 · 4643 阅读 · 1 评论