我在服务器中实现了一个 gRPC 流拦截器,如下所示:
// Service define:
// rpc searchProducts(google.protobuf.StringValue) returns (stream Product);
func (w *wrappedStream) RecvMsg(m interface{}) error {
log.Printf("%T, %v", m, m)
return w.ServerStream.RecvMsg(m)
}
// Log print:
// *wrapperspb.StringValue,
它可以%T正确使用打印消息类型,但是打印的消息值%v只是一个空白。
我确定服务器收到了正确的消息,因为它回复了客户正确的信息。
拦截器包装器RecvMsg在客户端也不工作。
ITMISS