登录
首页 >  Golang >  Go问答

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

来源:stackoverflow

时间:2024-04-15 16:18:29 266浏览 收藏

目前golang学习网上已经有很多关于Golang的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《更新golang中grpc的接收和发送消息大小》,也希望能帮助到大家,如果阅读完后真的对你学习Golang有帮助,欢迎动动手指,评论留言并分享~

问题内容

我有用 go 编写的 grpc 服务器,我正在尝试使用以下代码将接收和发送消息大小更新为 20mb,而不是默认的 4mb

var s *grpc.Server
s = grpc.NewServer(grpc.MaxRecvMsgSize(1024*1024*20), grpc.MaxSendMsgSize(1024*1024*20))

pb.RegisterProductServer(s,mysrv)

但是上面的方法似乎不起作用,因为当我尝试从大于最大值的客户端 received 消息调用时仍然收到错误(5807570 与 4194304)“ 不确定是什么覆盖了尺寸


解决方案


我还没有机会对此进行测试,但是您是否尝试过从客户端存根添加相同的选项?可以附加相同的选项作为拨号选项:

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)
// ...

我对您的用例一无所知,但如果您的响应数据可以分段传送,那么 streaming APIs 可能会很有用。

以上就是《更新golang中grpc的接收和发送消息大小》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>