google protobuf 消息是不是具有带有元信息的可解析标头?
Posted
技术标签:
【中文标题】google protobuf 消息是不是具有带有元信息的可解析标头?【英文标题】:Do google protobuf messages have parseable headers with meta information?google protobuf 消息是否具有带有元信息的可解析标头? 【发布时间】:2021-02-24 13:57:46 【问题描述】:我找不到合适的指南来通过网络发送和接收 protobuf 消息。 教程中的example 展示了如何读取和写入文件。因此,一种天真的方法是为网络协议创建一个自定义标头并发送 protobuf 文件。 Header 还包含消息类型的枚举值。
所以问题是: protobuf 是否提供 API 来读取消息的 header 以便能够区分其类型和长度?如果提供,是否可以在不接收整个消息的情况下获取它?
【问题讨论】:
【参考方案1】:不,一个普通的 protobuf 有效负载不包含有关消息类型的元数据(收件人应该提前知道这一点),也不是自我框架(如果在同一传输上发送多条消息,您应该使用您自己的帧协议)。
【讨论】:
以上是关于google protobuf 消息是不是具有带有元信息的可解析标头?的主要内容,如果未能解决你的问题,请参考以下文章
google protobuf-js:如何有效地解析我的消息
Google.Protobuf.InvalidProtocolBufferException:协议消息包含无效标签(零)
C++ google protobuf:如何从扩展的 FieldDescriptor 创建 MutableExtension