InvalidProtocolBufferException при разборе protobuf — неверный тег (ноль)JAVA

Программисты JAVA общаются здесь
Гость
InvalidProtocolBufferException при разборе protobuf — неверный тег (ноль)

Сообщение Гость »

У меня есть сообщение protobuf, которое записывается во время анализа.

Я запустил клиент и сервер на одной машине и сериализовал поток байтов.
Я сравниваю это с полученным массивом байтов, используя Arrays.equal в Java.
Он говорит, что они равны.

В моем protobuf есть только одно поле фиксированного32, в котором хранится IP-адрес.

Я безуспешно использовал обе версии google protobuf 2.4.1 и 2.5.0. Что-нибудь мне здесь не хватает?

Stacktrace:

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)


...
...

Код прототипа:

message IpMessage {
required fixed32 ip = 1;
}


Компиляция:

protoc --java_out=. ip-message.proto


Для анализа сообщения я использую:

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


Источник: https://stackoverflow.com/questions/245 ... d-tag-zero

Вернуться в «JAVA»