zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    Entity SQL 初入
    ObjectQuery查询及方法
    Entity Framework 的事务 DbTransaction
    Construct Binary Tree from Preorder and Inorder Traversal
    Reverse Linked List
    Best Time to Buy and Sell Stock
    Remove Duplicates from Sorted Array II
    Reverse Integer
    Implement Stack using Queues
    C++中const限定符的应用
  • 原文地址:https://www.cnblogs.com/ColaZhang/p/4922211.html
Copyright © 2011-2022 走看看