Подтвердить что ты не робот

Nodejs взаимодействует с программой на С++?

Предположим, что у меня есть программа на С++, работающая на том же сервере с веб-сервером Node.js.

Программа Cpp поддерживает очередь, то, что я хочу делать с Node.js, вытащить некоторые данные в очередь.

Какой лучший способ сделать это?

Что лучше? сокетов или IPC?

(os - linux)

4b9b3361

Ответ 1

Если вы используете Linux, я бы предложил сокеты UNIX-домена. Они в основном дают вам высокую производительность IPC с использованием интерфейса сокетов BSD, что упрощает переход на сокеты TCP позже, если вам нужно переместить приложение С++ (или node.js) на другой компьютер.

Они уже поддерживаются node.js, и только код, который открывает сокет, должен быть изменен. Многие приложения, включая MySQL, легко абстрагируют это в файле конфигурации.

Ответ 2

Я бы использовал сокеты, они чисты и просты в использовании

Ответ 3

Если вы хотите использовать механизм IPC, вы можете рассмотреть возможность создания Node.js С++ module, а затем использовать что-то из библиотека Boost.Interprocess для связи с другим вашим приложением.

Boost.Interprocess имеет уже созданные механизмы для совместного использования контейнеров из стандартной библиотеки. Это также кросс-платформа, если вы хотите быть открытыми для этого в будущем.