远程过程调用 - 客户提供的服务

时间:2017-01-10 21:42:22

标签: c++ qt rpc grpc

我想使用远程过程调用(RPC)开发Qt5 / C ++客户端 - 服务器应用程序。

思想: 服务器侦听多个客户端的传入连接。 客户端提供服务器可以调用的一组过程/服务,以便从客户端收集数据并通知其他客户有关更改。

这是一个问题: 到目前为止,我看到的RPC库似乎期望服务器提供客户端可能调用的服务。但我想做相反的事情。客户端应提供服务器可能调用的服务。 方向很重要,因为我只想在服务器端启用端口转发,而不是在客户端启用。

我检查的图书馆是:

问题:

  • 这些libs仅在服务器端提供服务是否有原因?
  • 我可能只是错过了文档中的那部分吗?
  • 是否有提供客户端服务的RPC库?

1 个答案:

答案 0 :(得分:1)

gRPC支持双向流,可满足您的需求。

客户端可以打开与服务器的长期连接,然后服务器可以通过在流上发送响应来“呼叫”客户端。

客户端可以通过在流上发送另一条消息来响应。

http://www.grpc.io/docs/tutorials/basic/c.html