Java客户端
byte[] aReceiveData = new byte[1024];
DatagramPacket aReceivePacket = new DatagramPacket(aReceiveData, aReceiveData.length);
aServerSocket.receive(aReceivePacket);
ByteArrayInputStream aInput = new ByteArrayInputStream(aReceiveData);
Message test = Message.parseDelimitedFrom(aInput);
错误
^{pr2}$Python服务器
mensagem = estoque_pb2.Message()
mensagem.type=1
mensagem.id=requestId
mensagem.methodId="test"
mensagem.obfReference="objectRef"
mensagem.arguments=resultado
return mensagem.SerializeToString()
self.udp.sendto(mensagem,self.client)
我无法使用protobuf将数据从python发送到java,谢谢任何帮助!在
接收到的数据包可能小于1024个字节,因此只能在接收到的字节范围内创建ByteArrayInputStream。在
parseDelimitedFrom用于分析分隔消息的方法。实际上,它读取消息长度,然后读取消息本身。据我所知,你的缓冲区只包含消息。因此,必须使用parseFrom方法。在
相关问题 更多 >
编程相关推荐