我希望利用Mac上的CFStream能够异步读/写串行通信设备的文件描述符。我需要访问文件描述符,以便可以通过ioctl控制和更改设备设置。
虽然在使用面向套接字的流操作时,似乎可以访问本机套接字fd,但我还没有看到任何方法来使用CFCreateXxxStreamWithFile API打开文件,然后获得文件描述符(即使那样,我也确实需要来自同一个fd的一对,以便我可以设置读/写选项),或者从现有的文件描述符创建CFStreams的方法。
有没有办法,或者有没有允许这样做的库(类似于AyncCococaSocket)?或者我被降级到做我自己的线程操作和/或GCD (这将限制我自己到10.6或更高版本)?
感谢您的帮助!
发布于 2012-03-22 04:02:05
您可以通过属性getter CFReadStreamCopyProperty或使用kCFStreamPropertySocketNativeHandle的CFWriteStreamCopyProperty访问CFStream的文件描述符。对于读-写-流对,结果描述符应该是相同的。
https://stackoverflow.com/questions/9709112
复制相似问题