解析protobuf时出现InvalidProtocolBufferException - 无效标记(零)

时间:2014-07-01 10:51:57

标签: java protocol-buffers

我有一条protobuf消息,在解析时会被压缩。

我在同一台机器上运行客户端和服务器并序列化了字节流。

我在java中使用Arrays.equal将其与接收到的字节数组进行比较。 它说他们是平等的。

我的protobuf只有一个存储IP地址的fixed32字段。

我使用谷歌protobuf 2.4.1和2.5.0版本都没有成功。我在这里缺少什么?

堆栈跟踪:

com.google.protobuf.InvalidProtocolBufferException: Protocol message contained an invalid tag (zero).
at com.google.protobuf.InvalidProtocolBufferException.invalidTag(InvalidProtocolBufferException.java:89)
at com.google.protobuf.CodedInputStream.readTag(CodedInputStream.java:108)

... ...

Protobuf代码:

message IpMessage {
    required fixed32 ip = 1;
}

汇编:

protoc --java_out=. ip-message.proto

要解析消息,我使用:

IpMessage.parseFrom(receivedPkt); //receivedPkt is byte[]

0 个答案:

没有答案