Protobuf lua 错误:Protocol message tag had invalid wire type

来源:互联网 发布:中国网络在线教育 编辑:程序博客网 时间:2024/05/22 05:15

这里只列出本人遇到的情况之一

这种错误我犯了很多次了 很多都是proto文件出的问题

今天被这个protobuf搞蒙了 我弄了一晚上 才发现是一个类似于“公式背错了”的问题

老手应该不会犯这种问题 但是既然有第一个人犯过  那99%的概率就会有第二个人犯过

问题还是出现在proto文件的定义上
每个message中从1开始 而不是文件中的第一个变量从1开始
例如 正确的做法:
message kaller1
{
required int32 id = 1;
required int32 age = 2;
}
message kaller2
{
required string msg = 1;
}

错误的做法:


message kaller1
{
required int32 id = 1;
required int32 age = 2;
}
message kaller2
{
required string msg = 3;
}

这里注意一下  如果是枚举 则没有这样的问题


下面这种情况如果变量少的话是可以进行的 但是当序号达到15左右的时候 在lua ParseFromString 就会出现
Protocol message tag had invalid wire type 这种错误


本人猜想 可能是类中最多只能有10多个变量吧


之前嵌套message的问题我感觉跟这个有关 有时间去试试

原创粉丝点击