Framework RPC en C ++ utilisant ZeroMQ

J’ai besoin d’écrire une application client-serveur en C ++ en utilisant un modèle de socket ZeroMQ push-pull. Le client doit effectuer des appels RPC vers les fonctions spécifiées dans l’interface du serveur. Je me demande s’il existe une bibliothèque / framework open source et commercialement utilisable à cet effet principalement en C ++. J’ai fait des recherches sur Google et il semble y avoir des choses écrites en python mais je préfère quelque chose en C ++ qui soit pratique avec ZeroMQ si possible. Toute suggestion / orientation est appréciée. Merci.

Google protobuf permet de générer des wrappers et des stubs de méthodes client pour les services RPC utilisables en C ++.

L’utilisateur doit définir explicitement le mécanisme de transport utilisé à cet effet. ZeroMQ serait un choix approprié pour l’implémentation IMHO (c’est donc l’inverse que vous avez demandé, mais cela ne fait aucune différence).

Il existe une autre question SO qui fournit des informations plus détaillées sur les alternatives disponibles: « Quel framework de messagerie / rpc conviendrait le mieux à ce cas? ‘

Le framework Thrift RPC fonctionne bien avec les sockets ZeroMQ REQ / REP en tant que transport. Le référentiel Thrift source contient un exemple en C ++ qui contient deux classes réutilisables: https://git-wip-us.apache.org/repos/asf?p=thrift.git;a=tree;f=consortingb/zeromq;h = 14bbc6f51dae649b423f9157c08abac27157d416; hb = HEAD

Récemment, j’ai lancé le projet open-source ThriftZMQ dans le but de mettre en œuvre un transport ZeroMQ interopérable pour Thrift dans différentes langues. Cependant, pour le moment, seule l’implémentation Java est disponible: https://github.com/thriftzmq