I want to develop a Qt5/C++ client-server application using remote procedure calls (RPC).
Idea: The server listens for incoming connections of multiple clients. Clients offer a set of procedures/services the server can call in order to collect data from clients and inform other clients about changes.
And here is the catch:
The RPC libs i've seen so far seem to expect the server to offer a service the clients may call. But I want to do the opposite. Clients should offer services the server may call.
The direction is important, because I want to enable port forwarding on the server side only, not on the client side.
The libs I've checked are:
- QtRpc2 (https://github.com/brendan0powers/QtRpc2)
- grpc (http://www.grpc.io)
Questions:
- Is there a reason these libs offer services on server side only?
- Did I maybe only miss that part in the documentation?
- Is there an RPC lib that does offer client side service offering?