С точки зрения скорости, лучшим кроссплатформенным механизмом IPC будут трубы. Это предполагает, однако, что вы хотите межплатформенный IPC на той же машине. Если вы хотите иметь возможность общаться с процессами на удаленных машинах, вы должны вместо этого использовать сокеты. К счастью, если вы говорите, по крайней мере, о TCP, сокеты и каналы ведут себя почти одинаково. Хотя API для их настройки и подключения отличаются, они оба действуют как потоки данных.
Однако трудной частью является не канал связи, а сообщения, которые вы передаете по нему. Вы действительно хотите посмотреть на то, что будет выполнять проверку и анализ для вас. Я рекомендую посмотреть на протокол буфера Google . Вы в основном создаете файл спецификации, который описывает объект, который вы хотите передать между процессами, и есть компилятор, который генерирует код на нескольких разных языках для чтения и записи объектов, соответствующих спецификации. Это гораздо проще (и менее подвержено ошибкам), чем пытаться придумать протокол обмена сообщениями и выполнить синтаксический анализ самостоятельно.