Tag: fifo

Node.js FIFO – 写入文件描述符时进程挂起

我有以下Node.js代码: 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”。 请帮忙!

使用Node.js实时读取文件

我需要制定出最好的方法来实时读取正在写入文件的数据,使用node.js。 麻烦的是,Node是一个快速移动的船只,它使寻找解决困难问题的最佳方法成为可能。 我想做的事 我有一个java进程正在做一些事情,然后把这个东西的结果写到一个文本文件中。 它通常需要5分钟到5小时的任何时间运行,数据一直写入,并且可以达到一些相当高的吞吐速率(大约1000行/秒)。 我想实时读取这个文件,然后使用节点聚合数据,并将其写入一个套接字,在套接字上可以绘制在客户端上。 客户端,图表,套接字和聚集逻辑都已经完成,但是我对读取文件的最佳方法感到困惑。 我所尝试过的(或至less玩过) FIFO – 我可以告诉我的Java进程写入一个fifo,并使用节点读取,实际上我们是如何使用Perl来实现这个function的,但是因为一切都在节点上运行,所以移植代码是有意义的。 Unix Sockets – 如上所述。 fs.watchFile – 这将工作,我们需要什么? fs.createReadStream – 这比fs.createReadStream更好吗? fs & tail -f – 看起来像一个黑客。 其实是我的问题 我倾向于使用Unix套接字,这似乎是最快的select。 但节点有更好的内置function实时读取文件从FS?