Самой простой вещью с достойной производительностью должно быть сокетное соединение с использованием доменных сокетов Unix с некоторым форматом фрейма данных с минимальными издержками.Например, двухбайтовая длина, за которой следует кодированный в кодировке UTF-8 JSON.На стороне C ++ это должно быть легко реализовано с использованием фреймворка Poco::Net::TCPServer
.В зависимости от того, куда пойдет ваше приложение в будущем, вы можете столкнуться с ограничениями этого формата, но если это в основном просто потоковая передача объектов JSON, все будет хорошо.
Чтобы сделать его еще проще, вы можете использовать WebSocket, который позаботится о кадрировании, за счет накладных расходов на начальную настройку соединения (запрос на обновление HTTP).Может даже быть возможно запустить протокол WebSocket через сокет домена Unix.
Однако разница в производительности между TCP-сокетом (только для локального хоста) и доменным сокетом Unix может быть даже незначительной, учитывая все накладные расходы JavaScript / node.js.Кроме того, если производительность действительно является проблемой, JSON может даже не быть правильным форматом сериализации для начала.
В любом случае, без более подробной информации (размер данных JSON, частота сообщений) трудно дать конкретную рекомендацию.