我有一个名为“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); ... });
有什么好主意吗?
谢谢您的帮助!
解决方法
既然你提到服务器在它的启动时输出了一些信息,你就可以监听它,然后在它启动时启动它.
就像是:
socket.on('xxx',...); 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? } }); });