protocol-buffers相关内容

如何在 sbt 0.13 中使用 sbt-scalabuff 插件?

我正在尝试使用 sbt-scalabuff 插件,但 sbt 一直抱怨该插件不能被发现. 插件文档也没有说明解析器 url.插件是否已弃用或我的 Scala 版本不受支持? 详情: com.github.sbt:sbt-scalabuff:0.2 (sbtVersion=0.13, scalaVersion=2.10) 这是我的plugins.sbt: libraryDepend ..
发布时间:2021-06-22 19:56:53 其他开发

Protobuf 如何编码 oneof 消息结构

对于这个在编码时运行 protobuf 编码的 python 程序给出以下输出: 0a 10 08 7f 8a 01 04 08 02 10 03 92 01 04 08 02 10 03 18 01 我不明白的是,为什么 8a 之后是 01,为什么 92 之后是 01.似乎对于 oneof 类型的信息元素,添加了额外的 01,但为什么呢?请帮助我,如果有人理解 protobuf 编码 ..
发布时间:2021-06-22 19:56:48 Python

protobuf 对字段名称更改的向后兼容性

如果修改了 proto 的枚举名称,是否向后兼容? 例如我最初有这个: enum ids {ID_1 = 1;ID_2 = 2;};信息 {id id = 1}; 我将枚举定义修改为: enum ids {ID_3 = 1;ID_2 = 2;}; 带有 ID_1 的旧 proto 消息是否与从包含 ID_3 的消息编译的新解析器兼容? 解决方案 既然你提到了使用 proto3 ..
发布时间:2021-06-22 19:56:45 其他开发

使用反射 API 在 Proto 中填充地图字段

我正在尝试编写一个模块,该模块将获取 Message.Builder 和从字段名称到值的映射,并将用值填充构建器. 一切正常,直到我遇到地图字段(使用 Proto3). 我知道我可以执行的特定消息的字段: builder.b.putAll( map ), 但是我如何使用 Proto 反射 API 来实现相同的目的. MapEntry doc说:“在反射 API 中,地图字段将 ..
发布时间:2021-06-22 19:56:42 Java开发

如何屏蔽 Protobuf 中的某些字段

我找不到屏蔽 protobuf 结构中某些字段的方法.我确实阅读了 FieldMaskUtil 并尝试了几个例子,但它似乎做了相反的事情,即复制 FieldMask 中提到的字段,这与我想要的不同.这是示例结构和相应的测试代码. 原型: syntax = "proto3";包装模型;option java_package = "test.demo.services.protobuf.cus ..
发布时间:2021-06-22 19:56:39 Java开发

protobuf 获取一些数据的安全性如何?

如果没有任何加密,如果接收者有序列化的 Protobuf 文件但没有生成的 Protobuf 类(他们无权访问定义其结构的 .proto 文件),他们是否有可能从二进制文件中获取 Protobuf 文件中的任何数据? 如果他们有权访问 .proto 文件的一部分(例如,文件中只有一个相关的message),他们能否从整个文件中获取该数据的一部分跳过其他未知部分? 解决方案 是的,绝对 ..
发布时间:2021-06-22 19:56:36 其他开发

带有 C++ 客户端和 C# 后端的协议缓冲区?

如何通过 HTTP 或等效的 Web 服务将 C# 后端与 C++ 前端连接起来? 解决方案 这里分为三个部分;服务器(听起来像 C#)、客户端(听起来像 C++)和传输.把它们分开,从最重要的开始: 传输:这里的重要决定是您希望数据采用什么形状.您提到了协议缓冲区,所以我们说的是二进制 - 但那可能是: 原始八位字节流(想想:从网络服务器下载图像) 返回流或字节的 SOAP ..
发布时间:2021-06-22 19:56:33 C#/.NET

如何使用协议缓冲区的扩展来维护“一般"消息

我的客户端-服务器通信如下所示:有一些所谓的通知,它们是用于交换信息的单独消息.这个想法是,通知是每条消息的公共部分.其实我想这将是消息的类型.类型决定了内容是什么.在 UML 类图中,Annoucement 将是所有其他消息继承的类. 我想在两个应用程序之间的通信中实现这个想法,一个用 C++ 编写,另一个用 C# 编写.我想我可以写一条消息,其中包含一个字段,如果消息 (枚举字段) 的类 ..
发布时间:2021-06-22 19:56:27 C#/.NET

protoc 在哪里以及如何安装它?

我想用protoc命令生成java文件 我一直在遵循 github 中 README 中的说明 https://github.com/protocolbuffers/protobuf 但它只是告诉您下载 zip 文件并且“二进制文件"已经包含在内.但是,在下载最新的(和其他几个版本)并解压缩文件后,我找不到“protoc"二进制文件. 还有其他我应该遵循的遗漏说明吗? 附言我使用 ..
发布时间:2021-06-22 19:56:24 其他开发

C++ Linux Google Protobuf + boost::asio 无法解析

我正在尝试通过 TCP 通过 boost::asio 套接字发送 Google Protobuf 消息.我认识到 TCP 是一种流协议,因此我在消息通过套接字之前对消息执行长度前缀.我有代码工作,但它似乎只在某些时候工作,即使我重复相同的调用并且没有改变环境.有时我会收到以下错误: [libprotobuf ERROR google/protobuf/message_lite.cc:123] ..
发布时间:2021-06-22 19:56:21 服务器开发

错误:字段 Message.Field .protobuf.MessageTypeAck.sourceModuleID 的线路类型非法:1(预期为 0)

我有一个使用 kafka 和协议缓冲区生成和消费消息的应用程序,一切都很好.我正在使用 SerializeAsString() 序列化协议缓冲区(这个应用程序是用 C++ 编写的). 现在,我添加了新的 node.js 网站,该网站也使用消息并尝试解码它们. 我的 js 代码(使用很棒的 ProtoBuf.js 模块):强> var builder = ProtoBuf.loadPr ..
发布时间:2021-06-22 19:56:15 前端开发

Protocol Buffer 导入解析

在阅读这个相当长的问题之前,我提出了一个错误 https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1103. Proto 文档包和名称解析状态> 您可以通过导入其他 .proto 文件中的定义来使用它们.至导入另一个 .proto 的定义,你添加一个 import 语句到文件顶部. 我的 example. ..
发布时间:2021-06-22 19:56:12 Python

python protobuf无法反序列化消息

在 python 中开始使用 protobuf 我遇到了一个奇怪的问题: 一个简单的消息原型定义是: syntax = "proto3";包装测试;消息 消息 {字符串消息 = 1;字符串发送者 = 2;} 通过 protoc -I 生成.--python_out=generated message.proto 并在 Python 中访问,如: from generated.messa ..
发布时间:2021-06-22 19:56:09 Python

在 c 中使用 nanopb 的消息中使用重复字段规则

我很难理解如何使用重复字段规则.例如,这是我的 .proto: 消息测试{重复浮点值 = 1;} 现在,我正在初始化一个新的 Test 对象: Test test = test_init_zero() 最后,我想分配一些值.例如: float values[] = { 1.0, 2.2, 5.5, 7.13 } 我的问题是如何分配它们?是不是像 test.value = 值//或者t ..
发布时间:2021-06-22 19:56:04 其他开发

协议缓冲区:版本更改

我不小心安装了 3.0.0 版,我的大部分文件自然会出现大量错误.现在我想把它带回 2.6.1.我已经下载并安装了 2.6.1,但是当我执行 protoc --version 时,它仍然显示 libprotoc 3.0.0,这是错误的. 有没有办法将版本设置为 2.6.1 或者有没有办法卸载 3.0.0? 解决方案 想通了.应该删除 /local 和 /include 下有关 goo ..
发布时间:2021-06-22 19:56:01 其他开发

为c中nanopb中的protobuf消息中的重复字段创建回调和结构

我有一个原始消息定义为: message SimpleMessage {重复的 int32 数 = 1;} 现在,编译后,该字段是 pb_callback_t 并且我想编写该函数.(没有 .options 文件) 现在,函数应该包含在哪里以及包含什么?数据本身存储在哪里以及如何访问它/为其分配新数据? * 编辑 * 根据@Groo 的回答,这是我试过的代码: typedef ..
发布时间:2021-06-22 19:55:58 其他开发