0

Mac OS X で CFStream を利用して、シリアル通信デバイスであるファイル記述子に非同期で読み書きできるようにしたいと考えています。ioctl を介してデバイス設定を制御および変更できるように、ファイル記述子にアクセスする必要があります。

ソケット指向のストリーム操作を使用すると、ネイティブ ソケット fd にアクセスできるように見えますが、CFCreateXxxStreamWithFile API を使用してファイルを開き、ファイル記述子を取得する方法は見たことがありません (その場合でも、読み取り/書き込みのオプションを設定できるように、同じ fd からのペアが本当に必要です) または既存のファイル記述子から CFStreams を作成する方法。

方法はありますか、それを可能にするライブラリがありますか (AyncCococaSocket に似ています)? それとも、独自のスレッド化操作や GCD (10.6 以降に制限される) を実行する必要がありますか?

手伝ってくれてありがとう!

4

1 に答える 1

0

CFReadStreamCopyPropertyプロパティゲッターを介して、またはCFWriteStreamCopyPropertyを使用して、CFStreamのファイル記述子にアクセスできますkCFStreamPropertySocketNativeHandle。結果の記述子は、読み取りと書き込みのストリームのペアで同じである必要があります。

于 2012-03-21T20:02:05.343 に答える