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

Node.js use spawn two child processes, then how two child processes exchange with each other?

本文关键字:两个 子进程 然后 何相互 交换 js Node 派生      更新时间:2023-09-26

我有一个名为"a"的ELF程序,"a"是一个tcp服务器,我有一个子程为"B","B"是tcp客户端。当"B"开始运行时,它会向服务器发送消息,而不会判断服务器是否准备好。

现在我必须使用Node.js将"A"answers"B"作为两个子进程运行,如何使"A"必须比"B"更早运行?

我的意思是:

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

有什么好主意吗?

谢谢你的帮助!

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

类似于:

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?
        }
    });
});