前言
何為協議生成器?其實就是前後端同學在對協議的時候使用的工具,手動新增對應的內容,最後一鍵釋出自己需要的任何與協議有關的內容。
有人會說,我直接寫proto檔案用它的命令列也可以生成很多檔案的。不過proto本身的能力,我工具都可以使用,因為本身工具就可以呼叫proto。下面開始介紹一下這款附帶原始碼的工具
良心價格,買來不一定要用,但是你可以拿來學習這種思想;用什麼語言開並不重要,重要的還是思想;程式設計編的就是思想,就跟寫文章一樣。
介紹
- 檔案功能
- 定義服務
可能我門一款遊戲用到好幾個服務,比如登陸服務,大廳獲得道具服務,戰鬥服務。對於棋牌遊戲或者聯網對戰遊戲尤其如此。而這些伺服器有的是長連線,有的是短連結,有的是proto格式,有的是json格式。在這個工具裡都是可以設定的。 - 定義協議號
我們用socket做遊戲的一般定義格式的時候都是協議號+資料長度+資料段。這個很正常,當然http也是可以這樣定義的。比如http://xxx.xxx.com:80/classname/functionname?xxx=cc&xx=xx
ip+埠,這個跟socket是一樣的。埠之後和問號之前的就可以定義為協議號了,也就是資源路徑。這樣就可以長短連結使用同樣的處理方式。 - 定義模組
我個人喜歡將不同的功能分為不同的模組。然後在模組中定義訊息。 - 定義訊息格式
比如這個商店模組,在進入商店時需要給伺服器傳送獲取商品列表的訊息。而伺服器需要兩個欄位。並設定了型別。而工具是支援註釋的,CNName就是了。有請求格式,自然也有返回格式,所以有GetProductInfoResult,並定義了返回的訊息格式。 - 使用
xxxHandler代表了一個請求處理。一個處理會有請求訊息,響應訊息。所以將剛才定義的兩個訊息格式,設定到request和response中就可以了。
匯出
xml目錄為專案配置檔案,export為匯出內容目錄
匯出的文件
匯出proto的java類
使用lua指令碼解析xml檔案
結語
工具介紹就這些,希望對有需求的人提供一定的幫助。關鍵還是思想,結合我微店裡的網路框架一起學習會更快速。
歡迎關注我的公眾號,獲取更多精彩內容。
歡迎掃碼關注公眾號《微笑遊戲》,瀏覽更多內容。