时,我有以下的Node.js代码:Node.js的FIFO - 过程挂起写文件描述符
var fs=require('fs');
var util=require('util');
var n2c=fs.createReadStream('./n2c');
var c2n=fs.createReadStream('./c2n');
n2c.on('data', function(b){
util.puts(b);
});
c2n.on('data',function(b){
util.puts(b);
});
正如你所看到的,我有两个FIFO文件描述符(使用创建:mkfifo n2c
,mkfifo c2n
, chmod 777 n2c c2n
)
当我在另一个窗口做echo "Hello" > n2c
,“你好”来了罚款。但是当我尝试再次执行时,echo "Hello" > n2c
挂起,并且node.js窗口中没有任何内容。
我该如何解决这个问题?我希望能够在ad-infinitum的node.js窗口中回显“Hello”。
请帮忙!
嗨,非常感谢那个见解。我想我将使用unix套接字来代替我的Node.js程序和我的C程序之间的通信。 – Eamorr