宿迁网站建设如何创建自己的小程序
前后端交互接口(二)
前言
在上一集我们约定了我们前后端交互接口的三条规则。这一集我们就先来看一看我们的一些proto文件。
浅看proto文件
在看文件之前,还是简单谈谈Protobuf
Protobuf通过一个.proto
文件定义数据结构,这个文件使用特定的语法来描述数据的格式和字段信息。通过在.proto
文件中定义message
,可以明确数据包含的字段、字段的数据类型(如int32
、string
等)以及一些属性(如required
、optional
等)。然后,使用Protobuf编译器(protoc
)处理.proto
文件,生成对应目标语言(如C++、Java、Python等)的源代码。这些代码包含了数据结构的类定义(称为消息类)以及用于序列化和反序列化的函数。在网络通信中,Protobuf因其高效性和跨语言支持而被广泛应用,特别是在RPC框架和分布式系统中。
message就相当于我们的class。这里的数字不是赋值!是这个属性的序号。
看到这个我们就会联想到之前写到的关键的核心类
这两个长得挺像的吧!
我们就是要让Protobuf里的UserInfo和Qt中的UserInfo能够相互转换。
来看点复杂的。请看下面一组图
我们可以看到,我们Protobuf的MessageContent的这个类是对应我们的Qt中的Message中的MessageType、content、fileId以及fileName,我们在Protobuf中给不同的消息内容是定义了不同的消息类(message),而我们的Qt代码中简单粗暴!直接一个QByteArray就涵盖了四种消息类型,毕竟本质上他们都是一个字节数组!