2017-04-13 3 views
0

두 개의 프로세스가있는 시스템을 구축 중입니다.두 프로세스간에 메시지 전달

프로세스 1
이 과정은 실제로 Node.js 프로그램입니다. 이 프로세스는 실제로 들어오는 요청을 처리하는 웹 서버입니다.

프로세스 2
이 과정은 실제로 C++ 프로그램입니다.

는 모두 프로세스 Process 1에 대한 Process 2에 전달해야 할 몇 가지 특정 요구가 지금 rc.local

의 도움으로 시작시 자동으로 시작됩니다.

Process 1JSON 바디 페이로드 행 /enqueue에서 POST 요청을 수신하는 경우, 예를 들어, Process 1JSON 캐릭터 라인 화되어야하며 Process 2 패스.

Process 2JSON을 받으면 실제 작업을 수행하려면 작업자 스레드를 종료하고 JSON이라는 새 스레드를 시작해야합니다. 두 프로세스가 Node.js 응용 프로그램 인 경우 작업자 스레드는 관계없이 작업자 스레드가 여전히 이전 JSON

를 처리 여부에 사망한다 나는 Process 1에서 Process 2을 포크 다음 코드를 사용했을 수 있습니다.

process.on('message',function(message){ 
    //implementation 
} 
... 
process.send(data); 

하지만 두 번째 프로세스는 C++ 앱입니다.

구현 방법에 대한 의견이 있으십니까?

참고 :이 질문에 플래그를 지정하기 전에 전체 코드를 찾지는 않습니다. 나는 그것을하는 방법에 대한 아이디어가 필요합니다.

+0

FFI – OMGtechy

+0

을 통해 MPI (예 : OpenMPI)를 살펴보십시오. 도메인 TCP 소켓을 사용하여 messge를 변환 한 다음 구문 분석하고 cpp 프로세스에서 작동 할 수 있습니까? –

답변

1

노드에만 해당되므로이 용도로 Nodejs 메시징/이벤트 기능을 사용할 수 없습니다.

유닉스, TCP, UDP 소켓 또는 두 프로세스가 통신 할 수있는 이벤트 시스템 (예 : Redis 또는 ZeroMQ)과 같은 운영 체제의 통신 기능을 사용해야합니다.

+0

그냥 ZeroMQ를 확인했습니다. 정말 유망한 것 같아. 최대한 빨리 시도해 보겠습니다. –