关于谷歌的protobuf

wam*_*amp 2 c++ protocol-buffers

我知道它可以用来从文件发送/接收结构化对象,

但是它可以用来从套接字发送/接收结构化对象的序列吗?

http://code.google.com/p/protobuf/

Arn*_*nce 6

Protocol Buffers是一种结构化数据序列化(和反序列化)框架.它仅涉及将选择的预定义数据类型编码到数据流中.你对该流做什么取决于你.引用维基:

如果要将多条消息写入单个文件或流,则需要跟踪一条消息的结束位置和下一条消息的开始位置.协议缓冲区有线格式不是自定界限的,因此协议缓冲区解析器无法确定消息自身的结束位置.解决此问题的最简单方法是在编写消息本身之前写入每条消息的大小.当您重新读取消息时,读取​​大小,然后将字节读入单独的缓冲区,然后从该缓冲区解析.

所以是的,您可以使用它通过套接字发送/接收多个对象,但您必须做一些额外的工作来区分每个对象流.