线路上的平面缓冲区

Flatbuffers on the wire

我有一个消息系统,我通过它发送一组不同的平面缓冲区表。接收端需要能够从线路中挑选出这些,并将它们 decode/typecast 转换为适当的类型。

我可以轻松地发送一种类型的消息并在另一端读取它,但是如何检测来自不同模式文件的多种不同类型的消息?消息上是否有一个神奇的数字可以让我识别结构?

您可以使根 table 包含一个包含各种消息类型的 union。或者,如果您愿意,可以为每种 FlatBuffer 声明一个 file_identifier,并以这种方式识别它们。

详情:https://google.github.io/flatbuffers/md__schemas.html