Nodejs与C ++程序通信?

假设我有一个在Node.js的web服务器上运行的c ++程序。

Cpp程序维护一个队列,我想用Node.js做的事情是将一些数据拉入队列。

什么是最好的方法来做到这一点?

哪个更好? 套接字还是IPC?

(操作系统是Linux)

Solutions Collecting From Web of "Nodejs与C ++程序通信?"

如果您使用的是Linux,我会建议使用UNIX域套接字 。 它们基本上为您提供了使用BSD套接字接口的IPC的高性能,如果您需要将C ++(或node.js)应用程序移动到另一台计算机,则可以在以后轻松切换TCP套接字。

它们已经被node.js支持 ,只有打开套接字的代码才需要改变。 包括MySQL在内的许多应用程序很容易在配置文件中将其抽象出来。

我会使用套接字,它们很干净,易于使用

如果您想使用IPC机制,您可以考虑编写一个Node.js C ++模块 ,然后使用Boost.Interprocess库中的某些内容与其他应用程序通信。

Boost.Interprocess已经建立了用于从标准库共享容器的机制。 如果你想在未来开放,它也是跨平台的。