我正在将现有程序移植到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.createReadStreamfs.createWriteStream创建自己的解决方案。

我也不在乎它在内部调用poll-实际上,我更喜欢它在内部使用libuv的uv_poll_*

最佳答案

您需要创建一个使用uv_poll_t句柄的二进制插件,该插件能够轮询任意文件描述符的可读性/可写性。

关于javascript - 如何打开给定文件描述符的Node.js Duplex流?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24464709/

10-16 22:25