Protobuf 消息是不是独立于平台

Posted

技术标签:

【中文标题】Protobuf 消息是不是独立于平台【英文标题】:Are Protobuf messages platform independentProtobuf 消息是否独立于平台 【发布时间】:2013-09-06 17:10:01 【问题描述】:

我正在计划一个应用程序,其中服务器端将用 C# 编写,客户端将使用 phonegap 创建

该应用程序大量使用使用 protobuf-net 库序列化的二进制文件。

假设我在 C# 中有一个对象

public class Foo

   private string FooProp;

并且这个对象被序列化并使用phonegap传输到客户端。是否有可能在 phonegap 中反序列化生成的二进制文件并使用 javascript 在 phonegap 中访问这些属性?

【问题讨论】:

***.com/questions/6912981/… 【参考方案1】:

the Protocol Buffers documentation的第一句话是:

欢迎阅读协议缓冲区的开发人员文档——一种语言中立、平台中立、可扩展的结构化数据序列化方式,用于通信协议、数据存储等。

因此,是的,protobuf 是独立于平台的。

至于是否可以使用 JavaScript 中的 protobuf,我将向您指出 this question,因为总体答案似乎是“仅通过第三方库”。您还可以在 the protobuf project site 上找到一些第三方库。

【讨论】:

如果我在 javascript 中反序列化 FOO 类。我是在 Json 中得到一个 Foo 对象还是反序列化数据有其他表示形式? @PeterEdike:您必须询问您决定使用的任何 JavaScript 库的作者。

以上是关于Protobuf 消息是不是独立于平台的主要内容,如果未能解决你的问题,请参考以下文章

用 Maven 实现一个 protobuf 的 Java 例子

类似于xml的一种数据传输格式protobuf

将ProtoA导入protoB

Protobuf消息格式

iOS 集成Protobuf,转换proto文件

咸鱼教程protobuf在websocket通讯中的使用