使gRPC客户端处于侦听模式,以获取来自服务器的消息 我有一个C++编写的GRPC服务器,它运行在一个服务器上,上面写着: Gabroo < /C> > /P> Gabroo:~/grpc/examples/cpp/stream_server$ ./stream_server DB parsed, loaded 1 features. Server listening on 0.0.0.0:50051

使gRPC客户端处于侦听模式,以获取来自服务器的消息 我有一个C++编写的GRPC服务器,它运行在一个服务器上,上面写着: Gabroo < /C> > /P> Gabroo:~/grpc/examples/cpp/stream_server$ ./stream_server DB parsed, loaded 1 features. Server listening on 0.0.0.0:50051,c++,client,client-server,grpc,C++,Client,Client Server,Grpc,客户端正在同一服务器上运行,并在收到消息后退出 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

客户端正在同一服务器上运行,并在收到消息后退出

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
现在,如果服务器想向客户机发送消息,但客户机没有侦听任何消息,则需要进行一些配置,以便客户机连续处于侦听模式,以侦听来自服务器的
消息

如果它不可用,内置无限循环和每隔
1
秒检查消息是一个好方法。我个人不喜欢这种方法


问候

这可以通过使用不同类型的RPC来解决。通常,您可以在客户端和服务器之间定义一个双向流。这样,如果一个流是开放的,客户端将监听,准备接收来自服务器的消息


如果使用用例更具体,并且只需要在每个流的客户端RPC上,那么您可以考虑使用服务器流RPC .< /P>可能的副本:您的客户端应该通过监听服务器流RPC(例如,代码> RPC NoTIFEL(谷歌.OrthBuff.Office)返回(流WakeupMessage)< /代码>)来监听服务器。