Nodejs communicate with C++ program?

2020-05-26 03:04发布

Say I've got a c++ program running on the same server with a Node.js web app, on a linux server.

The c++ program maintains a queue, and what I want to do with Node.js is, push some data into the queue.

What's the best way to do this?

Which is better? sockets or IPC?

3条回答
Juvenile、少年°
2楼-- · 2020-05-26 03:15

I'd use sockets, they are clean and easy to use

查看更多
霸刀☆藐视天下
3楼-- · 2020-05-26 03:25

If you want to use an IPC mechanism, you may consider writing a Node.js C++ module, and then use something from the Boost.Interprocess library to communicate with your other app.

Boost.Interprocess has mechanisms already build for sharing containers from the standard library. Its also cross platform if you want to be open to that in the future.

查看更多
戒情不戒烟
4楼-- · 2020-05-26 03:35

If you're using Linux, I would suggest UNIX-domain sockets. They basically give you the high-performance of IPC using the BSD socket interface, making it easy to switch for TCP sockets later if you need to move the C++ (or node.js) application to a different computer.

They're already supported by node.js and only the code that opens the socket will need to be changed. Many applications, including MySQL easily abstract this away in a configuration file.

查看更多
登录 后发表回答