cocos2dx 3.8.1 lua集成protobuf


目前lua集成protobuf主要有兩種方式

1. protobuf-gen-lua方案

https://github.com/sean-lin/protoc-gen-lua  參照說明即可集成

這個方案是將proto文件導出成lua文件, 使用起來稍微麻煩,  不能直接創建lua table,  而是要用生成lua pb文件中指定格式的table來生成二進制,  同樣服務器返回的二進制數據也是反序列化成生成lua pb文件中指定格式的table。 對數組的操作與lua原生方式不一樣, 沒有良好的打印日志功能, 需要自己編寫, 如果自己封裝框架會很別扭, 因為要編寫系列方法來處理lua table和lua pb中的table的轉換和對應關系

 

2. 雲風pbc方案

https://github.com/cloudwu/pbc

這個方案處理的很干凈利落  類似與json.decode json.encode  可以直接把lua table生成二進制和直接從二進制反序列化成lua table,   因此log功能 框架封裝都處理起來很順手

這個方案提供了tolua封裝

需要注意的是,pb文件是proto編譯生成的,暴露在資源路徑下,需要自己進行加密,否則真成了裸奔了

啟動時需要注冊protobuf文件

local buffer = cc.FileUtils:getInstance():getStringFromFile(" XXX.pb")

protobuf.register(buffer)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM