【发布时间】:2013-06-13 07:49:24
【问题描述】:
我正在阅读Google Protocol Buffers。我想知道我可以Serialize C++ object 并将其通过网络发送到Java 服务器和Deserialize 那里的java 并自省这些字段。
我想将任何语言的对象发送到 Java 服务器。并在那里反序列化它。
假设以下是我的.proto 文件
message Person {
required int32 id = 1;
required string name = 2;
optional string email = 3;
}
我对此运行protoc 并创建了一个C++ 对象。
基本上现在我想将序列化流发送到java 服务器。
在java端我可以deserialized流,这样我就可以找出流中有3字段及其各自的name, type, and value
【问题讨论】:
-
编译相同的
.proto文件并生成Java代码。然后在反序列化时使用它。 -
哦,这意味着我将它用于客户端-服务器类型的模型,我还需要在服务器端有 .proto 文件。对!!!!
-
他需要使用
--java_out标志使protoc产生java代码IIRC -
@Avinash:是的,所有使用 protobuf 的应用程序都必须知道
.proto文件。看我的回答。
标签: java c++ protocol-buffers