proto3相关内容

Protobuf子消息的延迟解码

我在项目中使用proto 3(java).我有一些嵌入较小消息的巨大protobuf.有没有一种方法可以使我只想查看的少数嵌套子消息实现部分解码.我当前遇到的问题是我需要将这个基于大型原型的记录数据与另一个记录连接起来,但是我的联接基于很小的子消息,所以我不想解码整个大型原型并且只能解码嵌套的消息(字符串ID)加入,然后仅解码整个protobuf以获取加入的数据. 我尝试使用 [lazy = ..
发布时间:2021-04-30 19:24:24 Java开发

gRPC中的异常处理

我有一个用Java编写的服务器和一个用PHP编写的客户端.如果出现任何问题,客户端如何从服务器捕获异常?在gRPC文档中找不到任何有关异常处理的信息. 谢谢! 解决方案 对于已处理的异常,请调用responseObserver.onError().如果传入StatusRuntimeException或StatusException(通常是通过status.asRuntimeExcep ..
发布时间:2020-11-21 01:34:55 其他开发

gRPC/Protobuf界面版本控制

比方说,我们使用gRCP/Protobuf连接许多应用程序. 这些应用程序是由自己的团队以自己的速度开发和发布的.随着时间的流逝,同一应用程序的不同版本(例如,在用户PC上安装了桌面应用程序)会在定义的界面上使用不同的版本. 虽然Protobuf旨在允许向后兼容,但有没有办法知道不同点运行的接口版本? 最简单的实现是使接口版本等于应用程序版本. 但是,由于使用了多种语言,因此在所有语言 ..
发布时间:2020-11-21 01:31:17 其他开发

C#Google.ProtocolBuffers反序列化方法(proto3)

我最近升级了我的代码库(Java,C ++和C#)以使用proto3。对于C#,涉及到2000多次代码更改。这主要是语义上的,一切都很好,但是有一个我似乎无法理解的问题。序列化/反序列化。我有以下经修正的方法来对我的 IMessage 类型进行反序列化(注释在proto2中执行此操作的代码),这是GitHub存储库中示例中显示的代码... 公共静态T ToObject(此字节[] b ..
发布时间:2020-10-21 00:31:01 C#/.NET

Protobuf向后兼容性以及Proto3与Proto2

Protobuf的卖点之一是向后兼容,即开发人员可以发展格式,而老客户仍然可以使用它. 现在有了新的Protobuf版本proto3,IDL语言本身不兼容诸如options,required放在其中,新的enuns语法,无扩展性之类的东西. 这是否意味着使用proto3无法产生较旧的proto2也会读取/理解的二进制文件? 这就像您必须继续使用proto2.如果您开始使用prot ..

协议buffer3和json

协议缓冲区v3声称该库是json友好的( https://developers .google.com/protocol-buffers/docs/proto3#json ),但是我找不到如何获得该映射的方法.我应该在协议中添加一些插件或选项,还是调用一些特殊的东西而不是SerializeTo/ParseFrom? 使用该功能的人吗? 解决方案 我正在使用Protobuf 3.3.0 ..
发布时间:2019-11-24 15:54:32 C/C++开发

使用Protocol Buffers描述符对象从.proto文件读取注释

我目前正在使用Google 协议缓冲区重新访问一个项目。 在项目中,我想要使用Protocol Buffers的 Descriptors 和反射。 官方文档声明 .proto 文件的注释可以读取: 使用函数 DebugStringWithOptions() ,对消息或描述符调用。 使用函数 GetSourceLocation() ,调用描述符。 我无法检索注释,所以我认为 ..
发布时间:2016-11-06 04:40:39 C/C++开发