我需要用C ++ / Obj-C编写一个服务器,它可以从几个用Java和C ++构建的客户端接收流数据。挑战:我需要有效地序列化和反序列化数据结构。一个C ++客户端将生成128x96x2维浮点数组,加上一些元数据,大约每秒30次(视频功能)。 Java客户端将生成一个较小的特征向量 - 大概200个值,每秒1-10次。我一直在努力推动我自己的实施,但在此之前,我想提出建议。
答案 0 :(得分:5)
Google Protocol Buffers支持您所需的语言和序列化数据结构的流式传输,但我不确定如何最好地处理这些大型数组。在Java的protobuf领域有一些正在进行的工作here - 背景here。
考虑到这一点,您可能能够使用Java和C ++ protobuf生成一些工具,并使用C ++中的自定义代码来处理该分支中的Java数组编码。