A list of paid, free or open source C++ (C plus plus) message passing protocol libraries, plugins and tools for working with IPC/RPC, message queue protocols, publisher / subscriber message passing and more. Sourced under a creative commons. This list will be updated regularly. Email over the URL, if you wish to be included.

C++ message passing protocol libraries, plugins and tools

  • Apache Thrift – Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2]
  • Boost.Interprocess – Header-only Boost library that supports kernel-level shared memory and memory-mapped files, with in-built synchronization mechanisms (semaphores, mutexes, and more). [Boost] website
  • Cap’n Proto – Fast data interchange format and capability-based RPC system. [MIT] website
  • eCAL – Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2] website
  • gRPC – A high performance, open source, general-purpose RPC framework. [BSD] website
  • Ice – Comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python and more. [GPLv2]
  • iceoryx – True zero-copy inter-process communication framework for safety critical systems with bindings for C, Rust. Runs on Linux, QNX, Windows, Mac OS, FreeBSD. [Apache2] website
  • libjson-rpc-cpp – JSON-RPC framework for C++ servers and clients. [MIT]
  • nanomsg – A simple high-performance implementation of several “scalability protocols”. [MIT] website
  • nng – nanomsg-next-generation, a light-weight brokerless messaging library. [MIT] website
  • rpclib – A modern C++ msgpack-RPC server and client library. [MIT]
  • simple-rpc-cpp – A simple RPC wrapper generator to C/C++ functions. [BSD]
  • SRPC – A lightweight RPC system that supports multiple protocols and OpenTelemetry. [Apache2]
  • WAMP – Provides RPC and pub/sub messaging patterns. (various implementations, various languages)
  • xmlrpc-c – A lightweight RPC library based on XML and HTTP. [BSD]

Tags: c++, open source, c plus plus, c++ tools, c++ plugins, c++ libraries, c plus plus tools, c plus plus plugins, c plus plus libraries, message passing protocol libraries, IPC/RPC, message queue protocols, publisher subscriber messages, publisher subscriber, c++ message passing protocol libraries, c++ IPC/RPC, c++ message queue protocols, c++ publisher subscriber messages, c++ publisher subscriber

Image: Unsplash License.

Portions of this text under: MIT license