我有用 Go 編寫的 grpc 服務器,我正在嘗試使用以下代碼將接收和發送消息大小更新為 20MB 而不是默認的 4MBvar s *grpc.Server
s = grpc.NewServer(grpc.MaxRecvMsgSize(1024*1024*20), grpc.MaxSendMsgSize(1024*1024*20))
pb.RegisterProductServer(s,mysrv)但是上面的方法似乎不起作用,因為當我嘗試從客戶端調用時仍然出現錯誤received message larger than max (5807570 vs. 4194304)" 不確定什么是覆蓋大小
1 回答

呼喚遠方
TA貢獻1856條經驗 獲得超11個贊
我還沒有機會對此進行測試,但您是否嘗試過從客戶端存根添加相同的選項?可以附加相同的選項作為撥號選項:
maxMsgSize := 1024*1024*20
conn, err := grpc.Dial(address, grpc.WithDefaultCallOptions(grpc.MaxRecvMsgSize(maxMsgSize), grpc.MaxSendMsgSize(maxMsgSize)))
if err != nil {
? ? // ...
}
defer conn.close()
client := pb.NewProductClient(conn)
// ...
我對您的用例一無所知,但如果您的響應數據可以分段傳送,那么流式 API可能會有用。
- 1 回答
- 0 關注
- 399 瀏覽
添加回答
舉報
0/150
提交
取消