当前位置: 首页 > 知识库问答 >
问题:

使用协议缓冲区序列化/反序列化对象

胡承悦
2023-03-14

这就是我想要实现的:

>

  • 在Proc#1中使用google协议缓冲区建模对象
  • 使用proto-buf序列化该对象,并将其发送到posix消息队列。

    在Proc#2中读取流并将其反序列化为类似的模型,同时使用协议缓冲区。

    换句话说:

    进程1中的对象--

    问题是Proc#1和Proc#2可能是完全不同的语言平台。程序#1通常是C与g相一致的。但是Proc#2可以是任何东西:Python、Java等等。。。(仅限于对Protobuf的支持)。

    现在我想确定协议缓冲区的序列化策略是否足够通用,以使反序列化能够在任何语言代码基上工作?

  • 共有1个答案

    巢德华
    2023-03-14

    是的,这是肯定的。协议库定义了如何序列化和反序列化数据,任何语言的协议库都应该实现相同的序列化协议。

    这也是为什么GRPC可以使用多种语言,例如,您可以拥有一个C GRPC服务器和一个JavaGRPC客户端。

     类似资料:
    • 我有kafka集群接收消息。消息是一个字节数组的zip文件。zip文件包含二进制的原型数据文件作为条目。我正在读取zip文件,并试图反序列化的原型条目,这就是我的代码是打异常。 在将二进制protobuf文件作为压缩字节数组发送到代理之前,我能够对其进行反序列化。 但是,当我压缩这些二进制protobuf文件,向kafka生成消息,使用它,然后尝试反序列化zip流中的条目时,我面临着一些问题。 我

    • 是否有可能在C中序列化一个类,并使用协议缓冲区将其反序列化为C#中的类似类?我已经尝试过Json序列化来克服不同平台中的序列化问题,但它在一些数据类型上存在问题,如数组列表等。那么关于使用谷歌协议缓冲区有什么建议吗?

    • 场景:阿帕奇·Flink、Kafka、协议缓冲区数据消费者。 数据源是协议缓冲区格式的Kafka主题(多个主题:主题#1,主题#3,主题#3)。消费者是Apache Flink消费者。每个主题都有一个独特的原型定义。 我试图在Apache Flink中开发一个通用的数据摄取工作,将Kafka的数据摄取到数据库中。 如何为Apache Flink实现通用protobuf反序列化程序?我正在寻找实现,

    • 默认情况下,Dart-RPC在服务器和客户端之间传输对象(类实例)时使用JSON序列化。 如何使用Protobuf(协议缓冲区)序列化 是否可以使用“接受”请求标头指定序列化方法(如内容类型)? 这是我尝试的, 我使用了以下定义文件,表示实体: 生成了人。pb。dart对于我来说,使用protoc gen dart插件,通过运行以下命令: 还有一些样板dart rpc代码: 打开功能请求:http

    • 尝试使用Google的协议缓冲区序列化对象时,我遇到以下错误: 类型不是预期的,也不能推断出合约: 我有三个项目: 具有*的DotNet Standard 2.0库项目。原始文件 该库包含一个*。原型文件。它包含几个不同的消息对象,每个对象的属性要么是字符串,要么是int32。有两个“包装器”对象,一个名为Request(请求)(另一个名为Response)。没有什么明显复杂的事情。 此库的NuG

    • SOFARPC 可以在使用 Bolt 通信协议的情况下,可以选择不同的序列化协议,目前支持 hessian2 和 protobuf。 默认的情况下,SOFARPC 使用 hessian2 作为序列化协议,如果需要将序列化协议设置成 protobuf,在发布服务的时候,需要做如下的设置: <sofa:service ref="sampleService" interface="com.alipay.