C++/Java 序列化库适合套接字流吗?
我需要用 C++/Obj-C 编写一个服务器,它可以从用 Java 和 C++ 构建的多个客户端接收流数据。挑战:我需要有效地序列化和反序列化数据结构。一个 C++ 客户端将生成 128x96x2 维浮点数组以及一些元数据,每秒大约 30 次(视频功能)。 Java 客户端将生成一个较小的特征向量——可能是 200 个值,每秒 1-10 次。我已经打算放弃自己的实现,但在此之前,我想征求建议。
I need to write a server in C++/Obj-C that can receive streamed data from several clients built in Java and C++. The challenge: I need to serialize and deserialize the data structures efficiently. One C++ client will be generating 128x96x2-dimensional float arrays, plus some metadata, about 30 times per second (video features). A Java client will be generating a smaller feature vector -- probably 200 values, 1-10 times per second. I've about resigned myself to rolling my own implementation, but before I do, I'd like to ask recommendations.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Google Protocol Buffers 支持您所需的语言和序列化数据结构的流式传输,但我不确定如何支持你最好处理那些大数组。在 Java 的 protobuf 领域,这里正在进行一些工作- 背景此处。
考虑到这一点,您也许能够生成使用 Java 和 C++ protobuf 工作的东西,并使用 C++ 中的自定义代码来处理该分支中的 Java 数组编码。
Google Protocol Buffers supports your required languages and streaming of serialized data structures, but I am not sure how you would best handle those large arrays. There is some ongoing work here in this area of protobuf for Java - background here.
With this in mind, you might be able to produce something that works using Java and C++ protobuf, with custom code in C++ to handle the Java array encoding in that branch.