protocol-buffers 相关问题

协议缓冲区是一种语言中立且与平台无关的方式,以高效且可扩展的格式编码结构化数据。 Google对几乎所有内部​​RPC协议和文件格式都使用Protocol Buffers。它也是开源gRPC框架使用的默认数据编码。

如果字段值为 0,proto 无法反序列化字段

我们序列化proto文件(proto3)并通过nats发送,如下所示。 我们订阅并接收来自发送端的数据,我们将此数据转换为 json,并将消息转换为 json,如下所示。 std::字符串

回答 1 投票 0

将 RepeatedField 转换为列表

.Net 我的 protobuf 文件: 消息结果{ 重复的 ListOfStrings 列表 = 1; } 消息字符串列表 { 重复字符串string = 1; } 我有一个具有此属性的类: 公开名单 .Net 我的protobuf文件: message Result{ repeated ListOfStrings lists = 1; } message ListOfStrings { repeated string strings = 1; } 我有一个具有此属性的类: public List<List<string>> ListOfLists { get; set; } Protobuf 编译器生成 RepeatedField 集合,当我尝试将此集合传递给 ListOfLists.AddRange() 时,我收到此错误: cannot convert from 'Google.ProtobufCollections.RepeatedField<gRPC.ListOfStrings>' to 'System.Collection.Generic.IEnumerable<System.Collections.Generic.List<string>> 如何处理? A List<List<string>> 与有 字符串的事物列表不同。您可能需要: foreach (var list in outerList) { var inner = new ListOfStrings(); inner.Strings.AddRange(list); obj.Lists.Add(inner); } 你可以尝试一下CopyTo的方法吗,doc 示例伪代码: Result result = ... foreach(var list in result.list) { string[] arr = new string[list.Count]; list.CopyTo(arr,0); ListOfLists.Add(arr.ToList()); } 使用 C# 范围运算符,您可以简单地编写如下内容: List<TargetType> list = [.. result.Lists]; 其中 result.Lists 的类型为 RepeatedField

回答 3 投票 0

将多个 JSON 对象记录到单个文件 - 文件格式

我有一个解决方案,我需要能够将多个 JSON 对象记录到一个文件中。本质上是每天制作一个日志文件。从单个文件写入(然后读取)这些内容的最简单方法是什么?...

回答 2 投票 0

在 Visual Studio 2022 中使用 .proto 文件并编写 C# 服务时找不到类。我该如何解决这个问题?

我在我的C# ASP.NET Core gRPC Service项目中写了一个protobuf文件,试图按照示例进行操作,现在我需要为其编写代码,但似乎找不到类名。我

回答 1 投票 0

protobuf 库在消息实例化时抛出 FatalException

我正在从源代码编译 protobuf 3.6.1 并链接到针对 Ubuntu 16.04 的可执行文件。一旦创建任何消息类型的对象,库就会抛出异常......

回答 2 投票 0

仅包含枚举字段的消息的编码长度为 0

我正在尝试序列化数据,该数据由以下 protobuf 文件指定: 语法=“proto3”; 包efficient_servers.protobuf; 消息请求{ 其中一个消息 { 步行步行 = 1...

回答 1 投票 0

Dockerfile + Protoc 在 Windows 上安装

实现: 我已在 Windows 上使用二进制文件成功安装了协议 通过在环境变量中使用以下路径, C:\Program Files\protoc-26.1-win64 中 失败的: 但是,我是你...

回答 1 投票 0

protobuf-c 中重复的子消息

有人能给我一个在 protobuf-c 中使用重复子消息打包\解包消息的示例吗? 关于此事的官方文档是空的。

回答 4 投票 0

动态proto库ABI兼容性问题导致的内存分配问题

我在测试动态原型库的ABI兼容性时遇到了内存分配的问题。 您使用什么版本的 protobuf 以及什么语言? 版本:v3.19.6 语言:C++ 什么操作

回答 1 投票 0

Arena::CreateMessage 和 Arena::CreateMaybeMessage 之间的区别

当我在 Arena 中使用 Protocol Buffer 时,这两个函数有什么区别 谷歌::protobuf::Arena::CreateMaybeMessage(); 和 谷歌::protobuf::Arena::CreateMessa...

回答 1 投票 0

我需要帮助将 .textpb 转换为带有嵌套输入的 json

我需要帮助将 .textpb 转换为带有嵌套输入的 json。 我使用 python 尝试了各种工具,但不起作用,因为 .textpb 或 .pb 是嵌套的,因此输出数据在 json 中不正确 请找到该文件

回答 1 投票 0

protoc --decode 使用的二进制到文本编码是什么?

我正在查看 protoc --decode 命令的输出,我无法理解它遇到字节时使用的编码: 数据 { 图片:“���� JFIF […]��4G…

回答 1 投票 0

如何拥有可在多个 C# NuGet 中使用的通用 protobuf 消息?

我正在尝试创建一个通用的 protobuf 消息,该消息将在多个 C# NuGet 中使用,有点像消息头。 我已将常见的原始文件保存在另一个存储库中,并且正在使用...

回答 1 投票 0

如何获取Socket的SendBuffer中的字节数?

我有一个网络应用程序,可能无法访问服务器。客户端在空闲时间每 30 秒发送一次字符串 ping 通过 TCP 连接到服务器,以便...

回答 3 投票 0

在 Windows 上的 VC++ 项目中使用 Protobuf 的正常、正确的方法是什么?

我是 C++ 新手,正在编写一个简单的程序,该程序使用 protobuf 定义 (.proto) 作为其工作的一部分。我来自 C#,在理解如何在 VC++ 专业版中使用 protobuf 时遇到了很多困难...

回答 1 投票 0

使用proto buff(.proto文件)自动生成代码时导入错误的包

所以我正在开发一个使用 proto buff 的项目,我需要使用 .proto 文件生成 golang 代码。 我的问题是,当我生成 golang 代码时,它导入了错误的包。 这就是我的

回答 1 投票 0

创建protocol buffer时如何正确导入?

我对协议缓冲区和Python比较陌生,所以我偶然发现了下面描述的问题。 (我对这个问题做了很多研究,但没有找到解决方案) 我的鳕鱼的相关等级制度...

回答 0 投票 0

获取 protobuf 在线大小(以字节为单位)

java中有没有办法获取protobuf的大小(以字节为单位)?我知道存在 getSerializedSize 函数,但我不知道这是否准确地表示了通过无线网络发送的内容...

回答 1 投票 0

将 Spark DataFrame 转换为稍微不同的案例类?

我在 HDFS 中有一些数据位于 parquet-protobuf 中。 由于一些项目限制,我想使用 Spark DataFrame 读取该数据(简单),然后转换为略有不同的案例类...

回答 1 投票 0

protoregistry.GlobalTypes 如何加载类型?

我正在尝试将 Envoy 配置从 JSON 解组到 Go 原型结构。 JSON 有一个包含类型信息的 Any 字段。我知道 protojson 以某种方式神奇地确定了......中的 proto 定义

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.