2

Cap'n Proto是否支持分隔消息?

我的目标是将多条消息写入文件管道并在写入时实时读取。

所以...

  1. 消息需要以某种方式分隔。

  2. 并且解析器必须能够检测到不完整的消息并等待。

4

2 回答 2

5

是的。与协议缓冲区不同,Cap'n Proto 消息本质上是自定界的。如果您使用标准序列化函数将消息重复写入同一流,或重复从同一流读取消息,它将“正常工作”。确保使用写入/读取流的序列化/解析例程(在 C++ 中,您可以使用文件描述符或抽象InputStream/ OutputStream),以便解析器知道如何等待输入。如果您更喜欢事件驱动的方法,还有这些的异步(非阻塞)版本。

于 2015-08-12T06:20:00.717 回答
0

Cap'n'Proto 并不意味着作为流解析器,尽管您可以这样使用它(通过将您的消息视为一个TextData多个块的序列(取决于您的确切用例)。

于 2015-08-12T00:32:17.753 回答