gpt4 book ai didi

c++ - 动态消息和TLV的数据序列化协议(protocol)?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:23:48 24 4
gpt4 key购买 nike

是否有任何数据序列化协议(protocol)允许动态消息类型TLV类型的数据编码?在查看了Protocol Buffer和Apache thrift之后,他们似乎没有这样做。

我有一些要求,例如:如果我想发送一些数据结构:

  1. 它必须有某种方式来编码数据(如类型长度值编码),以便接收方知道它读取的是什么以及数据是如何排列的(类似于数据树)。Protocl buffers 说你必须在接收端跟踪您的数据。

  2. 它还应该提供一些方法以便我可以动态添加数据。我认为在 PB 和 thrift 中他们需要提前知道所有数据,对吗?

唯一的选择是用你自己的 TLV 格式编码数据结构,然后使用诸如 boost::serialization 之类的东西通过网络对其进行序列化?

最佳答案

如果您将消息与 DescirptorSet 捆绑在一起,Protobufs 可以是自描述的。参见 Self-describing Messages从文档。如果确实需要,您甚至可以在运行时生成新的描述符(新的原型(prototype)类型)。

也就是说,听起来您更喜欢 JSON 或 MsgPack,它们是无模式编码。

关于c++ - 动态消息和TLV的数据序列化协议(protocol)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22230987/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com