Protobuf的自動反射訊息型別的方法

2022-05-31 22:03:12 字數 290 閱讀 6698

1. 每個訊息頭部中帶上type name,作為訊息的型別標識

2. 通過type name可以找到描述符descriptor*, findmessagetypebyname

3. 通過描述符descriptor*,建立乙個對應type name的物件,再用訊息的payload去初始化這個訊息物件

4. 具現化instantiation每個對應訊息的callback,放入map中,鍵值就可以用descriptor*

5. 通過上面的訊息物件,引用descriptor*就可以找到callback,來處理訊息

protobuf反射機制

參考 google protocol buffers protobuf 是一款非常優秀的庫,它定義了一種緊湊的可擴充套件二進位制訊息格式,特別適合網路資料傳輸。它為多種語言提供 binding,大大方便了分布式程式的開發,讓系統不再侷限於用某一種語言來編寫。在網路程式設計中使用 protobuf 需...

ProtoBuf 反射詳解

protocol buffer 簡稱 protobuf,是用於結構化資料序列化的靈活 高效 自動的方法,又如 xml,不過它更小 更快 也更簡單。你可以定義自己的資料結構,然後使用 生成器生成的 來讀寫這個資料結構。你甚至可以在無需重新部署程式的情況下更新資料結構。本文主要介紹 protobuf 裡...

Protobuf反射功能

include include include include include person.pb.h using namespace std string package typedef void callbackfunc const string type name,google protobu...