Node.js 使用spawn 两个子进程,那么两个子进程如何相互交换?
Node.js use spawn two child processes, then how two child processes exchange with each other?
我有一个名为"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);
...
});
有什么好的idea吗?
感谢您的帮助!
既然你提到服务器在启动时会输出一些信息,你可以监听它,然后在它启动时启动客户端。
类似于:
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?
}
});
});
我有一个名为"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);
...
});
有什么好的idea吗?
感谢您的帮助!
既然你提到服务器在启动时会输出一些信息,你可以监听它,然后在它启动时启动客户端。
类似于:
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?
}
});
});