如何在node. js中创建命名管道?
注:现在我正在创建一个命名管道,如下所示。但我认为这不是最好的方法
var mkfifoProcess = spawn('mkfifo', [fifoFilePath]);
mkfifoProcess.on('exit', function (code) {
if (code == 0) {
console.log('fifo created: ' + fifoFilePath);
} else {
console.log('fail to create fifo with code: ' + code);
}
});
3条答案
按热度按时间uajslkp61#
在Windows上使用命名管道
节点版本0.12.4
有关管道名称的注意事项:
C/C ++/节点:
\\.\pipe\PIPENAME
* 创建命名管道 *. Net/动力 shell :
\\.\PIPENAME
* 命名管道客户端流/命名管道服务器流 *两者都将使用文件句柄:
\Device\NamedPipe\PIPENAME
dgenwo3n2#
看起来Node核心不支持名称管道,也不会支持-来自Ben Noordhuis 10/11/11:
Windows有命名管道的概念,但由于您提到
mkfifo
,我假设您指的是UNIX FIFO。我们不支持它们,而且可能永远不会支持(非阻塞模式下的FIFO有可能导致事件循环死锁),但是如果需要类似的功能,可以使用UNIX套接字。
https://groups.google.com/d/msg/nodejs/9TvDwCWaB5c/udQPigFvmgAJ
命名管道和套接字非常相似,但是
net
模块通过指定path
而不是host
和port
来实现本地套接字:示例:
vdzxcuhz3#
可能使用
fs.watchFile
而不是命名管道?请参阅文档