Async C ++ Communication Library pour Linux (et Windows)

Je recherche une bibliothèque de communications (socket, éventuellement IPC également) pour une utilisation en C ++ sous Linux, si possible aussi sous Windows si elle est indépendante de la plate-forme.

Ce devrait être asynchrone. J’ai essayé la bibliothèque Boost Asio, mais en raison de limitations pour lesquelles nous ne pouvons pas trouver de solution, nous ne pouvons pas utiliser la bibliothèque Asio dans notre solution.

Ce devrait être une implémentation où aucun binary externe ne doit être exécuté séparément pour agir en tant que serveur indépendant.

Est-ce que quelqu’un d’entre vous sait quelque chose qui pourrait m’aider avec ces contraintes, car je ne veux pas implémenter la communication à partir de zéro.

Edit: Une autre limitation j’ai oublié de mentionner. La communication doit permettre à un client et à un serveur indépendants de la mise en œuvre, le système de messagerie doit fournir et recevoir des messages / chaînes uniques vers et depuis des sources dédiées (le serveur envoie une chaîne str au client c).

Edit 2: Les limitations majeures sont que, avec le système actuel, Boost Asio compilé avec le compilateur MPI de MPICH2 ou openmpi, en particulier lors de l’utilisation d’appels mpi, perd plusieurs messages lorsqu’il essaie de communiquer via asio.

Jetez un coup d’oeil à ZeroMQ , alias ØMQ.

Beaucoup de choses gratuites disponibles, recherchez tout ce qui met en œuvre AMQP (par exemple, et non limité à: la tentative d’Apache – ActiveMQ, ZeroMQ comme indiqué ci-dessus, rabbit mq [plus complet que zéro] et même Red Hat sont dans le jeu avec Red Messagerie Hat).

Beaucoup de paye pour des solutions allant de Tibco à 29 West, Tervela à Solace – cela dépend de combien vous voulez débourser …

Parmi les autres options, j’aime vraiment inclure OpenDDS – différent de l’AMQP, mais encore une fois très évolutif et de très bonnes performances. (oublié de dire, OpenDDS utilise ACE sous les couvertures …)