我有一个用C ++编写的gRPC服务器,它运行在服务器上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
秒检查一次消息是一个好方法。我个人不喜欢这种方法。
问候!!!
答案 0 :(得分:0)
这可以使用不同的RPC来解决。通常,您可以在客户端和服务器之间定义双向流。这样,如果流是打开的,客户端将正在侦听,准备从服务器接收消息。
如果您的用例更具体,并且您只需要在每个流的客户端RPC上,那么您可以考虑使用服务器流RPC。