我需要在node中建立父进程和子进程之间的对话。
开头:
var child = cp.fork(__dirname + '/Child',[],{silent: true});
然后在parent上设置一个事件处理程序:
child.stdout.on('data', processChildResponses);
子进程监听标准输出并响应标准输出的写入。父级写入子级stdin以发送命令:
child.stdin.write("a command...n");
然后我需要向child发送可变数量的命令,有些需要响应,有些不需要。对于那些需要响应的,我必须等待它(让我们假设永远),处理答案并发送另一个命令。
Child很简单,因为它只等待一个命令,回答它,然后等待另一个命令。所以没有问题。但是我和父母之间有很多问题。什么好主意吗?
在java或c#中这是一个非常简单的任务,但我想在node中完成。
为什么不直接使用child.send() (in parent)/process.send() (in child)?这样,您就不必担心缓冲和解析标准输出之类的问题。