在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
cd pbc/binding/lua 具体的调用方法在pbc的项目中有例子说明,主要的思路是: 1. require "protobuf" 2. 注册pb文件,利用该文件decode或者encode它的protobuffer对象,见下面的例子: echo "package test" > test.proto echo "message Mytest {optional sint64 testid=1;}" >> test.proto protoc --descriptor_set_out test.pb test.proto 以上方法生成了pb文件,下面的方法是用lua对pb的decode和encode过程 pb = require "protobuf" protobuf.register_file("./test.pb") stringbuffer = pb.encode("test.Mytest", { testid = 10; }) result = pb.encode("test.Mytest", stringbuffer) print("result="..result.testid) file = io.open("./test.pb", "rb") pb.register(buffer) stringbuffer = pb.encode("test.Mytest", 云风还提供了第三种方法,是用Lua parser,因为这种方法需要用到lua 的 Lpeg模块,暂时还没有研究这个功能,等后面再补上。 |
请发表评论