Nodejs与C ++程序通信?

时间:2012-03-23 16:49:14

标签: javascript c++ linux node.js

假设我在linux服务器上运行了一个运行Node.js网络应用程序的同一服务器上的c ++程序。

c ++程序维护一个队列,我想用Node.js做的是将一些数据推入队列。

最好的方法是什么?

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

3 个答案:

答案 0 :(得分:12)

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

它们是already supported by node.js,只需要更改打开套接字的代码。许多应用程序(包括MySQL)都可以在配置文件中轻松抽象出来。

答案 1 :(得分:2)

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

答案 2 :(得分:2)

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

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