En términos de velocidad, el mejor mecanismo de IPC multiplataforma será el de las tuberías. Sin embargo, eso supone que desea un IPC multiplataforma en la misma máquina. Si desea poder hablar con procesos en máquinas remotas, en su lugar, querrá usar sockets. Afortunadamente, si hablamos de TCP al menos, los sockets y pipes se comportan de manera muy similar. Si bien las API para configurarlas y conectarlas son diferentes, ambas actúan como flujos de datos.
La parte difícil, sin embargo, no es el canal de comunicación, sino los mensajes que pasa sobre él. Realmente desea ver algo que realice la verificación y el análisis para usted. Recomiendo mirar Google Protocol Buffers. Básicamente, crea un archivo de especificaciones que describe el objeto que desea pasar entre los procesos, y hay un compilador que genera código en varios idiomas para leer y escribir objetos que coinciden con la especificación. Es mucho más fácil (y menos propenso a errores) que intentar crear un protocolo de mensajería y un analizador.
+1 para Protocol Buffers, muy buena alternativa para IPC/RPC. – sharkin
+1 La primera vez que escuché acerca de los Buffers de Protocolo. Sin duda será útil pronto. – AdamW
¿Son las tuberías la respuesta cuando desea comunicarse con un proceso que ya se inició y se está ejecutando?Para eso, deberían ser tomas de corriente ¿no? – donatello