我尝试编写第一个* .proto文件。这是我的尝试:
syntax = "proto3";
package Message;
message Message {
string name = 1;
string serial = 2;
int32 command = 3;
enum Status {
GOOD = 0;
BAD = 1;
}
Status status = 4;
int32 length = 5;
// end of header
// start of payload
int32 data = 6;
string address = 7;
}
标头具有字段长度。此值定义有效负载中数据字段的长度。那就是我的问题:数据字段是动态的,我现在不知道大小。 我可以将标头和有效负载拆分为2个单独的* .proto文件。但是那时候我仍然不知道如何动态设置其中一个字段的长度。
预先感谢您的帮助!
答案 0 :(得分:0)
协议缓冲区不允许检查字段之间的依赖关系。您必须自己检查length
的长度是否与data
匹配。