gpt4 book ai didi

java - 谷歌 Protocol Buffer : find out what message is encoded in byte[]

转载 作者:行者123 更新时间:2023-11-30 03:43:35 25 4
gpt4 key购买 nike

有没有办法找出byte[]中编码的消息类型?我的意思是,是否有可能开发这样的东西:

byte [] buf;

if (typeOfMessage(buf) == "AProto") {
AProto.parseFrom(buf);
} else if (typeOfMessage(buf) == "BProto") {
BProto.parseFrom(buf);
}

...

最佳答案

它不按照您建议的方式工作。但有一个技巧:

message DTO {
// NOTE! The only and only message have to set.
optional AProto aPhoto = 1;
optional BPhoto bPhoto = 2;
...
optional RenderRequest renderRequest = 20;
}

它在消息中添加了一些技术信息,因此您始终知道自己正在处理什么。当发生不兼容的更改时,它还允许跟踪版本控制:

message DTO {
...
//optional BPhoto bPhoto = 2; // Compatibility broken in release 2014-10-09 by ursa
optional BPhoto bPhoto = 21;
...
}

关于java - 谷歌 Protocol Buffer : find out what message is encoded in byte[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26277559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com