Node.js使用spawn两个子进程,然后两个子进程如何相互交换?

时间:2015-03-19 12:02:13

标签: javascript node.js child-process spawn

我有一个名为“A”的ELF程序,“A”是一个tcp服务器,我有一个名为“B”的ELF程序,“B”是一个tcp客户端。当“B”开始运行时,如果服务器准备就绪,它将向服务器发送msg而无需判断。

现在我必须使用Node.js来运行“A”和“B”作为两个子进程,我怎样才能使“A”必须早于“B”运行?

我这样说:

socket.on('xxx', function() {    
    var A = spawn("A", ...);     
    ...      
    var B = spawn("B", ...);     
    setTimeout(B.sendToA, 500);       
    ...   
});

有什么好主意吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

由于您提到服务器在启动时输出了一些信息,您可以监听它,然后在客户端启动时启动它。

类似的东西:

socket.on('xxx', function() {    
    var A = spawn("A", ...);
    A.stdin.write("yyy");
    A.stdout.on('data', function(e) {
        if(e.toString() === "yyy") {
            var B = spawn("B", ...);
            B.sendToA(); //I'm guessing this is a pseudo-method?
        }
    });
});