I have a simple server written in C. The main goal is to communicate with some business partners using a proprietary protocol. For this reason and several others, it should be written in C. I have a number of other processes, however written in other languages (e.g. Python) that must communicate with the server (locally, on the same Linux server).
What are the best IPC internetworking options in this scenario? In particular, I believe that I am dealing with transport technologies: Unix domain sockets, named pipes, shared memory, ZeroMQ (Crossroads). I'm more interested in the best way to implement the protocol so that the C code is small and supported, but at the same time allows you to communicate with other languages.
Edit : there seems to be some kind of confusion. I am not interested in discussing the pros / cons of domain sockets, shared memory et. et al. I 'm interested in msgpack (thanks) and other technologies / approaches for implementing a wired protocol.
brooks94
source share