協議生成器工具

遊子陳發表於2020-06-16

前言

何為協議生成器?其實就是前後端同學在對協議的時候使用的工具,手動新增對應的內容,最後一鍵釋出自己需要的任何與協議有關的內容。
有人會說,我直接寫proto檔案用它的命令列也可以生成很多檔案的。不過proto本身的能力,我工具都可以使用,因為本身工具就可以呼叫proto。下面開始介紹一下這款附帶原始碼的工具
良心價格,買來不一定要用,但是你可以拿來學習這種思想;用什麼語言開並不重要,重要的還是思想;程式設計編的就是思想,就跟寫文章一樣。

介紹

  1. 檔案功能
  2. 定義服務

    可能我門一款遊戲用到好幾個服務,比如登陸服務,大廳獲得道具服務,戰鬥服務。對於棋牌遊戲或者聯網對戰遊戲尤其如此。而這些伺服器有的是長連線,有的是短連結,有的是proto格式,有的是json格式。在這個工具裡都是可以設定的。
  3. 定義協議號

    我們用socket做遊戲的一般定義格式的時候都是協議號+資料長度+資料段。這個很正常,當然http也是可以這樣定義的。比如http://xxx.xxx.com:80/classname/functionname?xxx=cc&xx=xx
    ip+埠,這個跟socket是一樣的。埠之後和問號之前的就可以定義為協議號了,也就是資源路徑。這樣就可以長短連結使用同樣的處理方式。
  4. 定義模組

    我個人喜歡將不同的功能分為不同的模組。然後在模組中定義訊息。
  5. 定義訊息格式

    比如這個商店模組,在進入商店時需要給伺服器傳送獲取商品列表的訊息。而伺服器需要兩個欄位。並設定了型別。而工具是支援註釋的,CNName就是了。有請求格式,自然也有返回格式,所以有GetProductInfoResult,並定義了返回的訊息格式。
  6. 使用

    xxxHandler代表了一個請求處理。一個處理會有請求訊息,響應訊息。所以將剛才定義的兩個訊息格式,設定到request和response中就可以了。

匯出


xml目錄為專案配置檔案,export為匯出內容目錄

匯出的文件

匯出proto的java類

使用lua指令碼解析xml檔案

結語

工具介紹就這些,希望對有需求的人提供一定的幫助。關鍵還是思想,結合我微店裡的網路框架一起學習會更快速。
歡迎關注我的公眾號,獲取更多精彩內容。

歡迎掃碼關注公眾號《微笑遊戲》,瀏覽更多內容。

相關文章