【发布时间】:2017-04-13 09:23:11
【问题描述】:
我正在构建一个有 2 个进程的系统。
流程 1
这个过程实际上是一个Node.js 程序。这个过程实际上是一个 Web Server 处理传入的请求。
流程 2
这个过程实际上是一个C++ 程序。
在rc.local的帮助下,这两个进程都会在启动时自动启动
现在,对于Process 1,有一些特定的请求应该传递给Process 2。
例如,如果Process 1 在路由/enqueue 收到带有JSON 正文有效负载的发布请求,则Process 1 应将JSON 字符串化并传递给Process 2。
当Process 2 收到JSON 时,它应该终止一个工作线程并使用该JSON 启动一个新线程来执行实际任务。无论工作线程是否仍在处理之前的JSON,工作线程都应该被杀死
如果两个进程都是Node.js 应用程序,我可以从Process 1 分叉Process 2 并使用以下代码。
process.on('message',function(message){
//implementation
}
...
process.send(data);
但我的第二个进程是C++ 应用程序。
关于如何实现它的任何想法?
注意:在标记此问题之前,请记住我不是在寻找完整的代码。我只需要知道如何去做。
【问题讨论】:
-
通过 FFI 查看 MPI(例如 OpenMPI)
-
能否使用域 TCP 套接字转换消息,然后解析并在您的 cpp 进程中工作?
标签: c++ node.js process raspberry-pi ipc