相关疑难解决方法(0)

Java中是否存在用于协议缓冲区分隔I/O函数的C++等价物?

我正在尝试从C++和Java中的文件读取/写入多个Protocol Buffers消息.谷歌建议在消息之前写长度前缀,但默认情况下没办法(我可以看到).

但是,2.1.0版中的Java API收到了一组"Delimited"I/O函数,显然可以完成这项工作:

parseDelimitedFrom
mergeDelimitedFrom
writeDelimitedTo
Run Code Online (Sandbox Code Playgroud)

有C++等价物吗?如果没有,那么Java API附加的大小前缀是什么,所以我可以用C++解析这些消息?


更新:

这些现在存在于google/protobuf/util/delimited_message_util.hv3.3.0中.

c++ java serialization protocol-buffers

64
推荐指数
7
解决办法
2万
查看次数

编写一个简单的C++ protobuf流客户端/服务器

我想使用protobuf在客户端和服务器之间来回发送消息.在我的情况下,我想从服务器向客户端发送任意数量的protobuf消息.如何在C++中快速构建它?

注意:在汇总了一个非常有用的Kenton Varda答案Fulkerson对stackoverflow的回答之后,我写了这个问题和我的答案.其他人也提出了类似的问题并遇到了类似的障碍 - 请看这里,这里这里.

我是protobuf和asio的新手,所以请随时纠正/建议改进,或提供自己的答案.

c++ client-server protocol-buffers boost-asio

6
推荐指数
2
解决办法
5573
查看次数