为了账号安全,请及时绑定邮箱和手机立即绑定

在 golang 中更新 grpc 的接收和发送消息大小

在 golang 中更新 grpc 的接收和发送消息大小

Go
慕标琳琳 2023-06-01 14:31:39
我有用 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可能会有用。



查看完整回答
反对 回复 2023-06-01
  • 1 回答
  • 0 关注
  • 319 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信