我正在将现有程序移植到 nodejs。在这个程序中,我打开一个文件描述符,然后将它交给一个线程,该线程对其调用 poll
以确定它何时可读。
与其编写自定义 C++ 模块,我真的很想在纯 javascript 中使用 Node 的方便花花公子来做到这一点 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 - 给定文件描述符,如何打开 nodejs 双工流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24464709/