pythonProtobuf定義消息類型
本文教程操作環(huán)境:windows7系統(tǒng)、Python3.9.1,DELLG3電腦。
讓我們從一個非常簡單的例子開始。假設(shè)您想要定義“搜索請求”的消息格式。每個請求包含一個查詢字符串、您對查詢結(jié)果感興趣的頁數(shù)以及每頁上有多少個查詢結(jié)果。
可以采用如下的方式來定義消息類型的.proto文件了:
syntax="proto3";//聲明使用proto3語法
messageSearchRequest{
stringquery=1;//每個字段都要指定數(shù)據(jù)類型
int32page_number=2;//這里的數(shù)字2是標(biāo)識符,最小的標(biāo)識號可以從1開始,到2^29-1,or536,870,911。不可以使用其中的[19000-19999]
int32result_per_page=3;//這里是注釋,使用//
}
(1)第一行指定了你正在使用proto3語法:如果不指定,編譯器會使用proto2。這個指定語法必須是文件的非空非注釋的第一行。
(2)SearchRequest消息格式有三個字段,在消息中承載的數(shù)據(jù)分別對應(yīng)于每一個字段。其中每個字段都有一個名字和一種類型。
(3)向.proto文件添加注釋,可以使用C/C++java風(fēng)格的雙斜杠(//)語法格式。
(4)在消息體中,每個字段都有唯一的一個數(shù)字標(biāo)識符。這些標(biāo)識符用來在消息的二進(jìn)制格式中識別各個字段,一旦開始使用就不能再改變。
以上就是pythonProtobuf定義消息類型,希望能對大家有所幫助。更多Python學(xué)習(xí)教程請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。