protocol-buffers 相关问题

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

Protobuf 包声明

我有一个原始文件,其中包含一些消息的定义。我在 proto 文件的开头声明了包 com.myorganization。例如,该文件中有消息 A 声明。如果我连载...

回答 2 投票 0

GO 和 GRPC:“在飞行中”创建 protobuff 类

我是 GRPC 新手,无法解决一个问题。当应用程序已经运行时是否可以创建 protobuff 文件? 例如,我从用户那里收到这样的 json: “protobuf_file”:&q...

回答 2 投票 0

C++:调度 protobuff 消息的惯用方式

我有一个基于 ZeroMQ 和 Protobuf 的 C++ 服务器。 我正在寻找一种反序列化和发送消息的惯用方式。在 Python 中,我会使用字典来关联函数......

回答 1 投票 0

如何在C#中正确导入不同项目的Proto文件?

我的解决方案中有 2 个项目 /Common/Common.csproj /数据/Data.csproj 我的 Data.csproj 中有一个 Proto 文件: 我的解决方案中有 2 个项目 /通用/Common.csproj /数据/Data.csproj 我的 Data.csproj 中有一个 Proto 文件: <Protobuf Include=".\Protos\UserService.proto" GrpcServices="Server" /> 看起来像这样: service UserService { rpc AddUser (UserRequest) returns (SimpleResponse); } .... 现在应该从 Common 导入 SimpleReponse,所以我在这个项目中的路径 /Common/Protos/common.proto 中创建了一个 common.proto,我想导入它: 导入“common.proto”; 服务用户服务{ rpc AddUser(UserRequest) 返回(SimpleResponse); } .... 然后 Rider 显示 SimpleResponse 仍为红色,以及 common.proto 导入。当我快捷键 Space + .它会向我显示我所做的“添加到原始导入”。 因此,在全局设置中,路径现在已正确设置 - 原型和响应不再是红色,我可以按 F12 来查看它们。当我现在尝试构建时,我仍然收到错误: 我尝试在csproj中添加路径 <Protobuf Include="..\Common\Protos\common.proto" Link="..\Common\Protos\common.proto" /> 但仍然是同样的错误。 有什么想法吗? 从不同项目导入原始文件非常棘手,我发现这个解决方案非常费力。所以我想与社区分享 我正在使用微服务架构,我希望我的消息 ProtoFiles 应该在 SharedProto 项目中并在不同的项目中使用它们 假设我在 SharedProto 中有消息 Proto 文件 SharedProto --Protos ----company_dto.proto ----branch_dto.proto ---- ... company_dto.proto的内容 syntax = "proto3"; option csharp_namespace = "SharedProto.Protos"; package sharedproto.protos; // *** DTO message CompanyDto { int32 Id = 1; string Code = 2; string Name = 3; string Logo = 4; string Website = 5; } SharedProto.csproj 的内容 .... <ItemGroup> <Protobuf Include="Protos\company_dto.proto" GrpcServices="None"> <Protobuf Include="Protos\branch_dto.proto" GrpcServices="None"> </ItemGroup> .... 我拥有服务原型的项目组织 Organization ... --Protos ----company_rpc.proto ----branch_rpc.proto ... 我想将 comapany_dto.proto(属于 SharedProto 项目的一部分)导入到 comapany_rpc.proto(属于 Organization 项目的一部分)。让我们看看 .csproj 文件,因为所有的技巧都在这里: 组织.csproj的内容 <ItemGroup> <ProjectReference Include="..\SharedProto\SharedProto.csproj"> <GlobalPropertiesToRemove></GlobalPropertiesToRemove> </ProjectReference> </ItemGroup> <ItemGroup> <!-- DTOs --> <Protobuf Include="..\SharedProto\Protos\company_dto.proto" ProtoRoot=".." GrpcServices="None" Link="Protos\company_dto.proto" /> <Protobuf Include="Protos\company_rpc.proto" AdditionalImportDirs="../SharedProto" GrpcServices="Server" /> </ItemGroup> 如果您看到上面的 Organzation.csproj 文件,那么您需要了解一些非常重要的要点,以避免 file not found error 从其他项目导入 proto 文件。 ProtoRoot=".." 和 Link="Protos\company_dto.proto" 之后,将此 AdditionalImportDirs="../SharedProto" 添加到要导入文件的 <Protobuf Include=.... 上。但是,在这些设置之后,您可以在其他项目中导入 SharedProto 文件,在我的例子中它是组织项目。看看吧 company_rpc.proto内容 syntax = "proto3"; import "google/protobuf/empty.proto"; import "Protos/company_dto.proto"; package organization.companyrpc; // *** Rpc-Service service CompanyRpcService { // Retrieve All rpc GetAllCompanies (google.protobuf.Empty) returns (GetCompanyListResponse){ } .... } // Response: Retrieve All message GetCompanyListResponse { repeated sharedproto.protos.CompanyDto DtoRows = 1; string Message = 2; } 如果您看到我的company_rpc.proto文件,您就会了解我如何导入它(import "Protos/company_dto.proto";)以及我如何使用它(sharedproto.protos.CompanyDto DtoRows) 记住这个sharedproto.protos来自company_dto.proto文件中的包名称 上述设置适用于我的 .net core grpc 2.60.0 和 .net core 8

回答 1 投票 0

502 由协议 >= 3.19.0

023-06-25 07:18:17 默认[20230625t071600]回溯(最近一次调用):文件“/layers/google.python.pip/pip/lib/python3.8/site-packages/gunicorn/ arbiter.py”,第 589 行,位于

回答 1 投票 0

无法声明类 ComposerAutoloaderInit

我有一个问题,我有一个错误,无法修复。该错误表明该名称已被使用。 我想做的是调用一个需要返回一些响应的 API。因为...

回答 3 投票 0

如何降级protobuf

无意间我在我的 ubuntu vps 上更新了 protobuf。现在一些非常重要的Python脚本不再工作了。速度其实并不重要。我得到了两个解决方案: 类型错误:描述符不能被c...

回答 3 投票 0

如何为 Wildfly Infinispan 子系统配置自定义 Protostream 序列化上下文初始化程序?

我有一个 Wildfly 应用程序,带有 Infinispan 缓存,其中包含需要自定义序列化的对象。 Infinispan 数据编组和编码文档建议使用 pro...

回答 2 投票 0

协议缓冲区:如何在 Java 中解析 .proto 文件

我正在尝试动态解析 Java 中给定的 .proto 文件以解码 Protobuf 编码的二进制文件。 我有以下解析方法,其中“proto”字符串包含.prot的内容...

回答 4 投票 0

当我将它与 protobuf 生成的文件链接时,在 openssl 中编程核心

我在文件中的属性构造函数“ConnectionInit”中有这样的代码,用C编写。 SSL_load_error_strings(); SSL_library_init(); DefaultSSLConnectionContext = SSL_CTX_new(SSLv23_client_met...

回答 2 投票 0

无需反序列化的Google Protobuf

通常,google protobuf 或nanopb 实现旨在分别在服务器/客户端上序列化/反序列化消息。 然而,我面临着序列化的情况

回答 1 投票 0

如何解码Tron全节点API的原始数据?

比如我想批量获取10个区块中的所有trc20交易,我可以调用API https://developers.tron.network/reference/getblockbylimitnext,示例python代码: 导入请求,json

回答 2 投票 0

如何反序列化从Python后端发送的js中的protobuf字符串?

我有一个 Flask 服务器,它发送序列化的协议缓冲区消息。我已在一些环境中成功反序列化此消息,包括 C++ 客户端。然而,当我尝试反序列化时...

回答 1 投票 0

TLS gRPC 与 TLS HTTP2 有区别吗?

或者它们看起来与潜在敌对的中间盒相同吗? 尽管对可能超出 gRPC 的流量进行分析。 TLS/JA3 指纹也可能是一个问题,但假设它们是可处理的...

回答 1 投票 0

Linux在生成proto文件时找不到grpc_csharp_plugin可执行文件?

我对 linux 和 grpc/protobuf 还比较陌生。目前我正在尝试使用 C# 制作一个 grpc 服务器客户端。 目前我在生成 grpc 文件时遇到问题。我

回答 1 投票 0

即使http服务器开始使用Go和protobuf,mssql,请求也没有返回结果

我正在尝试使用 Go、protobuf 和 MSSQL 作为我的数据库来创建 api 请求。我的 HTTP 服务器由curl 请求启动,返回代码:5 我的 main.go 代码 包主 进口 ( “上下文&q...

回答 1 投票 0

Azure 事件中心到 API 端点

我最近加入了新项目,在这里他们正在恢复来自事件中心的数据并使用 Spark,在将数据转换为 protobuff 之后应用转换,任何人都可以...

回答 1 投票 0

C# Protobuf:消息字段的默认实例而不是 null?

以 c++ 和 python 版本的 protobuf 生成为例,让我们看看以下内容: 消息子{ 可选 int int_val = 1; } 消息根{ 可选 int int_val = 1; 可选 Sub sub_val...

回答 1 投票 0

如何使pb.h变小以减少编译时间

当proto文件很大时,它会使编译时间太长(特别是当我将标头包含在另一个文件中时)。 几年前有人问过类似的问题,但没有回应:https://github....

回答 1 投票 0

从文件加载协议缓冲区不成功

我想通过“ParseFromIstream”从文件加载 Google Protocol Buffer 编码数据。但这个调用只是返回 false(没有可用的附加错误信息?)并且数据只是......

回答 1 投票 0

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