Inter-process communication

Apache Thrift - Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2]

gRPC42.3K

A high performance, open source, general-purpose RPC framework. [BSD] website

bRPC16.7K

bRPC is an Industrial-grade RPC framework using C++ Language, which is often used in high performance system such as Search, Storage, Machine learning, Advertisement, Recommendation etc. [Apache2] website

Cap'n Proto11.9K

Fast data interchange format and capability-based RPC system. [MIT] website

nanomsg6K

A simple high-performance implementation of several "scalability protocols". [MIT] website

nng3.9K

nanomsg-next-generation, a light-weight brokerless messaging library. [MIT] website

Ice2.1K

Comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python and more. [GPLv2]

SRPC2K

A lightweight RPC system that supports multiple protocols and OpenTelemetry. [Apache2]

rpclib1.7K

A modern C++ msgpack-RPC server and client library. [MIT]

iceoryx1.7K

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-cpp956

JSON-RPC framework for C++ servers and clients. [MIT]

Boost.Interprocess141

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

simple-rpc-cpp37

A simple RPC wrapper generator to C/C++ functions. [BSD]

eCAL11

Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2] website

W
WAMP

Provides RPC and pub/sub messaging patterns. (various implementations, various languages)

x
xmlrpc-c

A lightweight RPC library based on XML and HTTP. [BSD]