jinq0123 / LuaPbIntf

Binding Protobuf 3 to Lua 5.3
MIT License
134 stars 41 forks source link

上一个问题是怀疑有冲突问题。现在确认了是在协程下的绑定有问题 #17

Open dqzg12300 opened 6 years ago

dqzg12300 commented 6 years ago

上次是在skynet中测试。发现在skynet.start中无法正常解码 然后经过一段时间的观察。并且问了skynet的作者。结论是你这边在协程中的绑定lua时的问题。 测试代码如下

pb.import_proto_file("login.proto") local pbstr = pb.encode("login.login", {account="king",password="111111"}) print("encode") local pbmsg=pb.decode("login.login",pbstr) print(tool.dump(pbmsg)) print("=========================") local cor=coroutine.create(function() local msg= pb.decode("login.login", pbstr) print("decode") print(tool.dump(msg)) end) coroutine.resume(cor)

打印结果如下 encode { ["password"] = "111111", ["sdkid"] = 0, ["account"] = "king", }

decode " king111111"

jinq0123 commented 6 years ago

协程中调用时会出错,见 issue #6, 原因为 SteveKChiu/lua-intf#131

jinq0123 commented 6 years ago

让我在README中加个说明。