Асинхронное использование gRPC - PullRequest
0 голосов
/ 12 октября 2019

Поддерживает ли gRPC следующую схему связи между сервером и клиентом? 1. Клиент подключается к серверу и вызывает некоторый метод, например waitMessages. Тогда клиент просто ждет некоторых сообщений от сервера. 2. Время от времени сервер отправляет сообщения клиенту. Например, вызывается какой-то метод клиента. 3. Клиент отключается от сервера

Мне не нравится реализовывать эту схему через опрос сервера. Я хотел бы вызвать метод сервера один раз и просто ждать сообщений.

1 Ответ

0 голосов
/ 12 октября 2019

gRPC поддерживает частичные ответы или потоковую передачу. Как указано на странице gRPC концепций (в разделе " RPC потокового сервера):

RPC потокового сервера похож на нашПростой пример, за исключением того, что сервер отправляет обратно поток ответов после получения клиентского сообщения с запросом. После отправки всех его ответов сведения о состоянии сервера (код состояния и необязательное сообщение о состоянии) и необязательные конечные метаданные отправляются обратно для завершения на стороне сервера. Клиент завершает работу, как только получает все ответы сервера.

Для полноты gRPC также поддерживает потоковую передачу клиента и двунаправленную потоковую передачу.

...