Protobuf lua 错误:Protocol message tag had invalid wire type
2017-09-17 22:17
3299 查看
这里只列出本人遇到的情况之一
这种错误我犯了很多次了 很多都是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的问题我感觉跟这个有关 有时间去试试
这种错误我犯了很多次了 很多都是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的问题我感觉跟这个有关 有时间去试试
相关文章推荐
- google.protobuf.message.DecodeError: Tag had invalid wire type.
- iOS中ProtocolBuffer2.2的安装及google/protobuf/message.cc:130:60错误解决办法
- com.google.protobuf.InvalidProtocolBufferException: Message missing required fields: callId, status
- java protobuf运行错误解决(java.lang.ClassNotFoundException: com.google.protobuf.MessageOrBuilder)
- hdfs - ls: Failed on local exception: com.google.protobuf.InvalidProtocolBufferException:
- Caused by: io.protostuff.ProtobufException: Protocol message contained an invalid tag (zero).
- proto-lua-gen 转换proto文件错误 Expected top-level statement <e.g ."message">.
- invalid constant type: 15 错误解决
- android: invalid start tag Selector 错误原因
- “cvc-complex-type.2.4.a: Invalid content was found starting with element 'taglib'”错误的解决办法
- Invalid location of tag (form) 错误
- google.protobuf.message.DecodeError: Truncated message. 解决方法
- 使用protobuf的反射来动态生成Message并赋值
- c++编译错误:invalid new-expression of abstract class type
- Why Protocol Buffer So Fast? ----protobuf编码详解
- [寒江孤叶丶的Cocos2d-x之旅_35]在Cocos2d-Lua中使用ProtoBuf (Xcode配置方法)
- libprotobuf ERROR google/protobuf/wire_format.cc:1059
- c++使用Protobuf Message转Json字符串(Json库使用Json cpp)
- void is an invalid type for the variable……错误解决
- 项目后期Lua接入笔记05--网络协议protobuf在lua中的使用pbc