我是使用Protobuf的新手。我在C ++中有一个服务器客户端通信(UDP)。现在我使用Protobuf向服务器发送包含一些信息的消息。
package Test;
message vName{
required int32 name = 1;
}
message vNat{
required int32 nat = 1;
}
message vTan{
required int32 tan = 1;
}
message Test{
enum Type { vName = 1; vNAT = 2; vTAN = 3;}
required Type type = 1;
optional vName name = 2;
optional vNat nat = 2;
optional vTan tan = 2;
}
现在我只想发送已设置的信息。例如,Type为1.那么我如何访问或设置名称?
任何人都可以制作一个我能理解如何使用它的小片段吗?
我为自己的英语技能道歉:D
Protobuf版本:2.5.0
操作系统:Windows 环境:Visual Studio
语言:C ++
来自https://developers.google.com/protocol-buffers/docs/techniques#union 您可能还希望有一个枚举字段来标识填写了哪个消息,以便您可以打开它:
message OneMessage {
enum Type { FOO = 1; BAR = 2; BAZ = 3; }
// Identifies which field is filled in.
required Type type = 1;
// One of the following will be filled in.
optional Foo foo = 2;
optional Bar bar = 3;
optional Baz baz = 4;
}
我如何在代码中使用它?我想这就是我想要的。有谁知道我在哪里可以找到一个例子?