我在服務器中實現了一個 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在客戶端也不工作。
1 回答
ITMISS
TA貢獻1871條經驗 獲得超8個贊
w.ServerStream.RecvMsg(m)將數據解組為,只需在調用m后移動打印。RecvMsg()
func (w *wrappedStream) RecvMsg(m interface{}) error {
err := w.ServerStream.RecvMsg(m)
log.Printf("%T, %v", m, m)
return err
}
- 1 回答
- 0 關注
- 108 瀏覽
添加回答
舉報
0/150
提交
取消
