【问题标题】:C++/Java serialization library suitable for socket stream?适合套接字流的 C++/Java 序列化库?
【发布时间】:2011-05-09 20:23:10
【问题描述】:

我需要用 C++/Obj-C 编写一个服务器,它可以接收来自多个用 Java 和 C++ 构建的客户端的流数据。挑战:我需要有效地序列化和反序列化数据结构。一个 C++ 客户端将生成 128x96x2 维浮点数组以及一些元数据,大约每秒 30 次(视频功能)。 Java 客户端将生成一个较小的特征向量——可能是 200 个值,每秒 1-10 次。我已经快要放弃自己推出自己的实施了,但在此之前,我想请教一些建议。

【问题讨论】:

    标签: java c++ serialization networking tcp


    【解决方案1】:

    Google Protocol Buffers 支持您所需的语言和序列化数据结构的流式传输,但我不确定如何最好地处理这些大型数组。在 Java 的 protobuf 领域有一些正在进行的工作here - 背景here

    考虑到这一点,您也许能够使用 Java 和 C++ protobuf 生成一些东西,并使用 C++ 中的自定义代码来处理该分支中的 Java 数组编码。

    【讨论】:

    • 这看起来不错,谢谢你的参考!教程/文档似乎只展示了如何编码单个值,而不是数组。 repeated 关键字似乎很流行,但依赖将大数组的每个元素推入重复变量似乎很草率。
    • @Alterscape - 是的,这是该库现在公认的缺陷,听起来他们正在开发 Java 解决方案,但我没有查看代码 - 如果这是一个改进,你可以我想在 C++ 端为该编码添加您自己的代码(它是开源的)。
    猜你喜欢
    • 2013-07-08
    • 2018-10-15
    • 1970-01-01
    • 1970-01-01
    • 2014-06-11
    • 2012-11-02
    • 1970-01-01
    • 2018-11-29
    • 2013-05-21
    相关资源
    最近更新 更多