我需要在节点中的父进程和子进程之间建立一个对话框。
我开始关注:
var child = cp.fork(__dirname + '/Child',[],{silent: true});
然后在父级上设置一个事件处理程序:
child.stdout.on('data', processChildResponses);
孩子听stdin并回答写到stdout的答案。父写入子stdin以发送命令:
child.stdin.write("a command...\n");
然后我需要向孩子发送可变数量的命令,一些需要响应,另一些则不需要。对于那些需要响应的人,我必须等待它(让我们永远假设它变得简单),处理答案并发送另一个命令。
孩子很简单,因为它只等待命令,回答它并等待另一个命令。那没问题。但我和父母有很多问题。有任何想法吗?
在java或c#中这是一个非常简单的任务,但我想在节点中完成所有这些任务。
提前致谢。
答案 0 :(得分:1)
为什么不使用child.send() (in parent)/process.send() (in child)?这样你就不必担心缓冲和解析stdout等等了什么。