Обновление размера сообщения приема и отправки для grpc в golang - PullRequest
0 голосов
/ 11 января 2019

У меня grpc-сервер, написанный на Go, и я пытаюсь обновить размер получаемых и отправляемых сообщений до 20 МБ вместо 4 МБ по умолчанию, используя следующий код

var 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 Ответ

0 голосов
/ 11 января 2019

У меня еще не было возможности протестировать это, но вы пытались добавить те же опции из заглушки клиента? Те же параметры могут быть добавлены как параметры набора номера:

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 потоковой передачи могут быть полезны.

...