Держите клиент gRPC в режиме прослушивания сообщений от сервера - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть сервер gRPC, написанный на C ++, который работает на сервере, скажем Gabroo

Gabroo:~/grpc/examples/cpp/stream_server$ ./stream_server
DB parsed, loaded 1 features.
Server listening on 0.0.0.0:50051

Клиент работает на том же сервере и завершает работу после получения сообщения.

Gabroo:~/grpc/examples/cpp/stream_server$ ./stream_client
DB parsed, loaded 1 features.
-------------- GetFeature --------------

Found feature called PatriotsPath,Mendham,NJ07945,USA at 40.7838, -74.6144
Found no feature at 0, 0

Теперь, если сервер хочет отправить сообщение клиенту, но клиент не прослушивает какое-либо сообщение, нужна ли какая-то конфигурация, чтобы клиент постоянно находился в режиме прослушивания для stream сообщений от сервера.

Если он недоступен, встроенный будет бесконечный цикл и проверка сообщений каждые 1 сек. Будет хорошим подходом. Мне лично не нравится такой подход.

С уважением !!!

1 Ответ

0 голосов
/ 14 мая 2018

Это можно решить с помощью RPC различной арности. В общем, вы можете определить двунаправленный поток между клиентом и сервером. Таким образом, если поток открыт, клиент будет слушать, готовый принимать сообщения с сервера.

Если вы используете конкретный случай и вам нужен только RPC клиента на поток, то вы можете рассмотреть возможность использования RPC сервера потоковой передачи.

...