用作缓冲区流的分隔符的内容

What to use as delimiter for stream of buffers

本文关键字:分隔符 缓冲区      更新时间:2023-10-16

我正在使用flatbuffers实时发布对象流。我遇到的一个问题是如何分离独立的对象/缓冲区。如果我使用某些字符(如 '1''|'(,则无法保证这些字符不会出现在序列化缓冲区中。推荐的方法是什么?

while (more object) {
    flatbuffers::Offset<Msg> m = foo::CreateMessage(...);
    socket.send('|');
    socket.send(fbb.GetBufferPointer(), fbb.GetSize());
    socket.send('|');
}

在发送端和接收端使用"长度前缀缓冲区"(请参阅FlatBufferBuilder::FinishSizePrefixedGetRootSizePrefixed(。

您正在尝试将文本库分隔和分析方法与二进制缓冲区一起使用。那永远行不通。您需要确保您的协议完全是二进制的。