2017-04-13 54 views
0

我正在構建一個有兩個進程的系統。在兩個進程之間傳遞消息

過程1
這一過程實際上是一個Node.js程序。這個過程實際上是一個處理傳入請求的Web服務器。

過程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++應用程序。

有關如何實現它的任何想法?

注意:在標記此問題之前,請記住我並不尋找完整的代碼。我只需要關於如何去做的想法。

+0

通過FFI看看MPI(例如OpenMPI) – OMGtechy

+0

您可以使用域TCP套接字來轉換messge,然後解析並在您的cpp進程中工作嗎? –

回答

1

您不能爲此使用Nodejs消息/事件工具,因爲它是特定於Node的。

您需要使用操作系統的通信設施,例如Unix,TCP,UDP套接字或兩個進程都可以通信的事件系統,如Redis或ZeroMQ。

+0

剛剛檢查了ZeroMQ。似乎很有希望。將盡快嘗試 –

相關問題