4

我正在将现有程序移植到 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.createReadStreamand创建我自己的fs.createWriteStream

我也不关心它poll在内部调用 - 事实上,我更喜欢它在uv_poll_*内部使用 libuv。

4

1 回答 1

0

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

于 2014-09-24T12:59:06.403 回答