我正在将现有程序移植到nodejs。在此程序中,我打开一个文件描述符,然后将其交给一个调用poll
的线程,以确定何时可读。
除了编写自定义C++模块之外,我真的很想在纯JavaScript中使用Node的便捷dandy Duplex stream做到这一点。
例如,我想做这样的事情:
var device = new PollDuplexStream(fileDescriptor);
device.on('data', function(data) {
// data handling logic here
});
...
var chunk = new Buffer(...);
device.write(chunk);
似乎应该存在,但我不知道它在哪里。也许我只是盲目的?上面示例中的
PollDuplexStream
在现实世界中相当于什么?请注意,我正在明确地寻找一个以文件描述符而不是路径开头的解决方案,否则,我只是根据
fs.createReadStream
和fs.createWriteStream
创建自己的解决方案。我也不在乎它在内部调用
poll
-实际上,我更喜欢它在内部使用libuv的uv_poll_*
。 最佳答案
您需要创建一个使用uv_poll_t句柄的二进制插件,该插件能够轮询任意文件描述符的可读性/可写性。
关于javascript - 如何打开给定文件描述符的Node.js Duplex流?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24464709/