当前位置: 首页 > 图灵资讯 > 行业资讯> python Protobuf定义消息类型

python Protobuf定义消息类型

来源:图灵python
时间: 2024-08-27 13:57:38

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

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

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

syntax="proto3";///声明使用proto3语法

messageSearchRequest{
stringquery=1;///每个字段都指定数据类型
int32page_number=2;这里的数字2是标识符,最小的标识号可以从1开始,到2^29-1,or536,870,911。不能使用[190000-19999]
int32result_per_page=3;///这是注释,使用///
}

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

(2)Searchrequest新闻格式有三个字段,新闻中携带的数据对应于每个字段。每个字段都有一个名字和一种类型。

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

(4)在消息体中,每个字段都有一个唯一的数字标识符。这些标识符用于识别消息二进制格式中的每个字段,一旦开始使用就不能更改。

以上是python Protobuf定义消息类型,希望对大家有所帮助。更多Python学习指导:python基础教程