gpt4 book ai didi

linux - 在 node.js 中拖尾命名管道

转载 作者:搜寻专家 更新时间:2023-11-01 00:46:00 25 4
gpt4 key购买 nike

我正在使用 node-tail 在 linux 中读取文件并将其发送到套接字。

node.js 发送从文本文件读取的数据

var io = require('socket.io');
Tail = require('tail').Tail;


tail = new Tail("/tmp/test.txt");


io.sockets.on('connection', function (socket) {

tail.on("line", function(data) {
socket.emit('Message', { test: data });

});

});

接收端

var socket = io.connect();
socket.on('Message', function (data) {

console.log(data.test);

});

这行得通,但是当我尝试修改这部分时

tail = new Tail("/tmp/test.txt");

对此

tail = new Tail("/tmp/FIFOFILE");

我无法从中获取任何数据。

有没有办法在 Linux 中读取命名管道?还是可以读取命名管道的包?

最佳答案

我可以让它以一种愚蠢的方式工作:

// app.js
process.stdin.resume();
process.stdin.on('data', function(chunk) {
console.log('D', chunk);
});

然后像这样开始:

node app.js < /tmp/FIFOFILE

如果我为命名管道创建一个可读流,它会在读取写入命名管道的第一条数据后结束。不确定为什么 stdin 很特别。

关于linux - 在 node.js 中拖尾命名管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16691861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com