協議描述與轉換

2021-06-01 11:02:41 字數 556 閱讀 3360

用xml描述協議,基本型別包括:int8, uint8, int16, uint16, int32, uint32, int64, uint64, string

提供工具(用python實現)將xml協議描述檔案轉成proto檔案,再生成protobuf的.h和.cc檔案

提供工具(用python實現)將xml資料表描述檔案轉成sql建表語句

提供工具(用python實現)將xml資料表描述檔案轉成「列名-列型別pair」陣列bin檔案,提供介面載入這個bin檔案建map,提供介面通過列名查詢對應的列型別。

協議:xml -> proto(h, cc)

db表:xml -> proto(h, cc), xml -> sql

轉表:excel -> proto(h, cc, py), python程式讀excel資料生成bin檔案

為什麼不直接用proto描述協議:

(1)protobuf型別單一(整數只有32位和64位的),xml檔案中的屬性在protobuf中對應的概念為「option」,但是寫起來比較繁瑣。

(2)方便用其他序列化工具取代protobuf

迭代器協議,資料描述符

迭代器協 先呼叫物件 iter 方法 然後每次取值呼叫 next 方法 for迴圈 可以捕獲迭代器丟擲的stopiteration異常 結束呼叫 next classfoo def init self,x self.x x def iter self 使用for迴圈 首先會呼叫 iter 方法 re...

協議轉換器

計算機網路技術迅猛發展,建立了大量的多種多樣的網路系統,帶來了乙個各種網路之間如何互連的間題。乙個辦法是推行國際標準,051網路體系結構及通訊協議的國際標準已越來越成熟。但是,要把大量已存在的非051體系的網路都改 造成051體系,都採用標準協議,存在著很多的困難,而且網路技術在不斷發展,在進行標準...

神奇的描述符(一) 描述符協議的實現

描述符通過描述符協議實現,任何實現或部分實現以下方法的類,都可以作為描述符使用。def get self,instance,owner def set self,instance,value def delete self,instance get 方法接收三個引數 self為描述符例項自身 ins...