客户端发送1481字节的数组。 服务器可以读取所有1481个字节消息而没有任何问题,但通过解析从接收到的二进制数组给定消息话题我得到这个exeption:Google协议缓冲区 - 将C#客户端的消息发送到java服务器
com.google.protobuf.InvalidProtocolBufferException: Protocol message contained an invalid tag (zero).
二进制数据是相同的。我检查了我正在使用正确版本的proto文件。我有点亏本tbh。任何帮助赞赏。
代码
byte [] data= IOUtils.toByteArray(br1, "ASCII"); System.out.println("SIZE:" + data.length);
AddressBook adb1 = AddressBook.parseFrom(data); System.out.println("Server: Addressbook:" + adb1.getPersonCount()); System.out.println("Server: Addressbook:" + adb1.getPerson(0).getName());
问:
我需要找到一种方法,从读1481个字节ARRY正确解析接收Adressbook味精。
谢谢。
你的意思是1481个字节,而不是位,右边有同样的错误?当你说“二进制数据是相同的” - 就像什么?很难跟随这里发生的事情。 –
我的意思是byteArray的长度是1481. – Kaiser4you
没错。了解字节和位之间的差异并使用正确的术语很重要。问题的其余部分仍然模糊。 –