我有用 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 关注
- 319 浏览
添加回答
举报
0/150
提交
取消