Go 更新戈朗grpc的接收和发送消息大小
我用Go编写了grpc服务器,我正在尝试用以下代码将接收和发送消息大小更新为20MB,而不是默认的4MBGo 更新戈朗grpc的接收和发送消息大小,go,grpc,Go,Grpc,我用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) 但是上面的内容似乎不起作用,因为当我试图从一个大于max(5807570对4194304)的客户接收消息时
var s *grpc.Server
s = grpc.NewServer(grpc.MaxRecvMsgSize(1024*1024*20), grpc.MaxSendMsgSize(1024*1024*20))
pb.RegisterProductServer(s,mysrv)
但是上面的内容似乎不起作用,因为当我试图从一个大于max(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)
// ...
我对您的用例一无所知,但如果您的响应数据可以逐段传递,那么可能会很有用。谢谢!我们不能在服务器级别而不是在客户端控制它吗?从文档中可以看出,您不能(如果您上面的方法不起作用,我认为其他任何方法都不会起作用)。可能在GitHub repo中提交功能请求?嘿@kingkupps,有没有其他方法不使用
grpc来执行此操作。使用DefaultCallOptions
?因为此数据类型仅在grpc的同一更高版本中定义。而且,我对更新grpc版本有一些限制。