我正在尝试,在google.golang.org/grpc/reflection行中传递一个protoreflect.MessageDescriptor。其想法是让服务器向客户端提供protoreflect.MessageDescriptor服务。
客户端将使用protoreflect.MessageDescriptor和dynamicpb.NewMessage实例化protobuf消息。
我无法封送protoreflect.MessageDescriptor,因为它没有实现ProtoReflect()。这似乎是不可能的马歇尔和“发送”它的电线。
有人已经试过了吗?在GRPC的go实现中,我是否试图做一些被设计禁止的事情?
发布于 2022-09-26 16:19:52
我相信你想在你的协议中使用DescriptorProto,而不是protoreflect.MessageDescriptor。protodesc package中有类似于:https://pkg.go.dev/google.golang.org/protobuf/reflect/protodesc#ToDescriptorProto的转换函数
https://stackoverflow.com/questions/73475372
复制相似问题