知行编程网知行编程网  2022-11-20 08:00 知行编程网 隐藏边栏  7 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python Protobuf定义消息类型的相关知识,包括python protobuf序列化,以及python声明类型这些编程知识,希望对大家有参考作用。

python Protobuf 定义消息类型


本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

让我们从一个非常简单的例子开始。假设你要为“搜索请求”定义消息格式。每个请求包含一个查询字符串,你对查询结果感兴趣的页数,以及每个页面上有多少个查询结果。

消息类型的.proto文件可以通过以下方式定义:

syntax = "proto3";  // 声明使用 proto3 语法
 
message SearchRequest {
  string query = 1;  // 每个字段都要指定数据类型
  int32 page_number = 2; // 这里的数字2 是标识符,最小的标识号可以从1开始,到2^29 - 1, or 536,870,911。不可以使用其中的[19000-19999]
  int32 result_per_page = 3; // 这里是注释,使用 //
}

(1) 第一行指定你使用的是proto3语法:如果不指定,编译器将使用proto2。此指定语法必须是文件的第一个非空非注释行。

(2) SearchRequest消息格式有3个字段,消息中携带的数据对应每个字段。这些字段中的每一个都有一个名称和一个类型。

(3) 给.proto文件添加注释,可以使用C/C++/java风格的双斜杠(//)语法格式。

(4) 在消息正文中,每个字段都有一个唯一的数字标识。这些标识符用于标识消息二进制格式中的字段,一旦使用就无法更改。

以上就是python Protobuf定

义消息类型,希望能对大家有所帮助。

更多Python学习指路:

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享