0

我想利用 Mac OS X 上的 CFStream 来异步读取/写入作为串行通信设备的文件描述符。我需要访问文件描述符,以便可以通过 ioctl 控制和更改设备设置。

虽然在使用面向套接字的流操作时似乎可以访问本机套接字 fd,但我还没有看到任何方法可以使用 CFCreateXxxStreamWithFile API 打开文件然后获取文件描述符(即使那样,我也会真的需要来自同一个 fd 的一对,所以我可以设置读/写选项)或从现有文件描述符创建 CFStreams 的方法。

有没有办法,或者是否有允许这样做的库(类似于 AyncCococaSocket)?还是我被降级为我自己的线程操作和/或 GCD(这会将自己限制在 10.6 及更高版本)?

感谢帮助!

4

1 回答 1

0

CFReadStreamCopyProperty您可以通过属性 getters或CFWriteStreamCopyProperty使用CFStream 访问文件描述符kCFStreamPropertySocketNativeHandle。对于读写流对,生成的描述符应该相同。

于 2012-03-21T20:02:05.343 回答