protocol-buffers相关内容

protobuf 版本之间的数据格式兼容性

我想知道协议缓冲区的序列化数据格式是否在 protobuf 编译器和客户端库版本之间保持不变. 换句话说,我是否需要使用相同的编译器版本来生成我的 Python、Java 和 C++ 类?这些客户端是否都需要使用相同版本的 protobuf 库? 这篇文章解决了我的问题,但是它接受的答案特定于 OP 的 protobuf 版本. 解决方案 是的,差不多就是这个想法.只要遵循规范 ..
发布时间:2021-06-22 19:53:48 其他开发

IDE 可以智能感知 protobuf-python 成员

我想要一个在 python 中生成的 protobuf 类的智能感知.但是生成的protobuf类的实现比较特殊,代码如下: class X(_message.Message):__metaclass__ = _reflection.GeneratedProtocolMessageType描述符 = _X 大多数python IDE只能智能感知__metaclass__和DESCRIPTOR这 ..
发布时间:2021-06-22 19:53:45 Python

从现有 Java 对象或 xsd 生成 .proto 文件

有谁知道可以生成 .proto 文件的任何工具?是来自现有的 xsd 还是来自现有的 Java 对象? 我正在使用 Apache CXF 进行网络服务调用.返回的对象是从 xsd 自动生成的. 好的,所以我现在想使用协议缓冲区将此数据传递到另一个系统.对象模型非常复杂并且会定期更改 - 即每次对象模型更改时我都会得到一个新的 xsd.我希望能够自动生成一个 .proto 文件,以便我可 ..
发布时间:2021-06-22 19:53:39 Java开发

google protobuffer 如何定义 proto 文件中的列表列表?

我有一个包含列表字段列表的类,如下所示: 公共类 MyClass{私有列表>} 如何在 proto 文件中定义它? 解决方案 您可以在名为 message 的 proto 文件中声明您自己的“类型". 如果你想声明一个列表,你应该使用repeated关键字. 将这两者结合起来给我们: message ListOfListsOfStrings {重复 ListOfStrings ..
发布时间:2021-06-22 19:53:36 Java开发

Protobuf,嵌套映射?

我正在使用 Protobuf 3.从文档来看,似乎无法定义嵌套映射: message MyMessage {映射>嵌套映射 = 1;//不起作用} 我正在尝试创建消息类型来表示期权链的定价信息(买入价和卖出价).对于那些不熟悉这些金融工具的人,基本上,我有一套“到期日(YYYYMMDD)".在这些到期日期中的每一个中,我都有一组“罢工(浮点数;如有必要,可以表示为字符串,我可以接受)".在每次 ..
发布时间:2021-06-22 19:53:34 其他开发

序列化 protobuf 输出的文件扩展名

我找不到这个问题的答案似乎很奇怪,但是在文件中存储序列化的 protobuf 输出时应该使用什么文件扩展名?只是.protobuf?与我正在谈论的 json 等效的是一个 .json 文件. 解决方案 我只使用 .bin,但这里没有实际的标准 AFAIK.如果 protoc -o(以 protobuf 二进制格式作为 FileDescriptorSet 发出一个 .proto 模式)像所有 ..
发布时间:2021-06-22 19:53:28 其他开发

打印人类友好的 Protobuf 消息

我找不到任何地方可以打印 Google Protobuf 消息的人类友好内容. 在 Python 中是否有 Java 的 toString() 或 C++ 的 DebugString() 的等价物? 解决方案 如果您使用的是 protobuf 包,print 函数/语句将为您提供可读的消息表示,因为 __str__ 方法 :-). ..
发布时间:2021-06-22 19:53:25 Python

几个共享对象使用相同的 proto 导致错误:文件已存在于数据库中

与 protobuf3 相关的错误 我有一个项目,它有一个 C++ 可执行核心和几个称为插件的共享对象(.so、.dll).当核心启动时,它将使用 dlopen 加载这些插件.核心和插件使用 protobuf 作为通信协议,因此他们必须将生成的 .pb.cc 和 .ph.h 文件编译成他们的二进制文件,以获得串行器/解串器.并且 libprotobuf.so 链接到核心和插件.当我启动核心时 ..
发布时间:2021-06-22 19:53:19 C/C++开发

Protobuf 版本与 Qt 冲突

我正在尝试将 protobufs v 3.3.2 与 Qt 5.9.1 一起使用.这适用于某些 Qt 应用程序,但前提是它们是命令行程序.一旦我用 Qt 和 protobufs 创建了一个 GUI 应用程序,我就会收到这个错误: [libprotobuf 致命/home/mkraus/Documents/dev/star385/build/linux-desktop-debug-libs/p ..
发布时间:2021-06-22 19:53:16 C/C++开发

检查 protobuf 消息 - 如何按名称获取字段值?

如果不显式调用 getter,我似乎无法找到一种方法来验证 protobuf 消息中字段的值. 我看到了一些使用 Descriptors.FieldDescriptor 实例到达消息映射内部的例子,但它们要么基于迭代器,要么由字段编号驱动. 一旦我有了地图: MapallFields = myMsg.getAllFields(); 如何获取"fieldXyz"字段的值? 我知 ..
发布时间:2021-06-22 19:53:10 Java开发

来自训练元图的权重和偏差

我已成功将重新训练的 InceptionV3 NN 导出为 TensorFlow 元图.我已经成功地将这个 protobuf 读回了 python,但我正在努力寻找一种导出每一层权重和偏差值的方法,我假设这些值存储在元图 protobuf 中,用于在 TensorFlow 之外重新创建 nn. 我的工作流程是这样的: 为新类别重新训练最后一层导出元图 tf.train.export_met ..
发布时间:2021-06-22 19:53:07 Python

最大序列化 Protobuf 消息大小

有没有办法获取某个protobuf消息序列化后的最大大小? 我指的是不包含“重复"元素的消息. 请注意,我不是指的是具有特定内容的 protobuf 消息的大小,而是指它可以达到的最大可能大小(在最坏的情况). 解决方案 一般来说,由于存在未知字段的可能性,任何 Protobuf 消息都可以是任意长度. 如果您接收一条消息,则不能对长度做出任何假设. 如果您要发送一 ..
发布时间:2021-06-22 19:53:04 其他开发

协议缓冲区中缺少带有 protoc 的输入文件

我目前在 protoc.exe 旁边有一个名为 addressbook.proto 的文件.我在生成 .h 和 .cc 文件时遇到了困难.这是我在做什么 protoc --cpp_out=c:\addressbook.proto 但是我得到以下回复 缺少输入文件. 对我可能做错的事情有什么建议吗? 解决方案 -cpp_out 标签指定生成的 c 源代码的输出目录. 我建议尝试 ..
发布时间:2021-06-22 19:53:01 C/C++开发

协议缓冲区中的继承

如何在 Google Protocol Buffers 3.0 中处理继承? Java 等效代码: 公共类栏{字符串名称;}公共类 Foo 扩展了 Bar {字符串标识;} Proto 等效代码是什么? 消息栏{字符串名称 = 1;}消息 Foo {字符串 id = 2;} 解决方案 Protocol Buffers 不支持继承.相反,请考虑使用组合: message Foo { ..
发布时间:2021-06-22 19:52:56 Java开发

在 ZeroMQ 中使用 Protocol Buffers 实现 RPC

我有一个客户端和一个服务器的简单设置.客户端想要在服务器中执行一个使用 ZeroMQ 进行通信的方法.我将使用 REQ 和 REP 套接字,因为它们适用于这个用例.不过,我对 protobuf 的定义有疑问.我认为可以使用这两个选项来实现目标: 消息控制服务{字符串控制 = 1;int32 serverId = 2;布尔块 = 3;双温 = 4;} 其中“control"包含要远程执行的方法的 ..
发布时间:2021-06-22 19:52:53 其他开发