現在、NSInputStreamを開くと(たとえば)、完全に開いたことを示すイベントを取得するように設定できます。しかし、失敗した場合、イベントはまったく発生しません。オープニングが完了しなかったとは言われません。開こうとしているときにポーリングできますが、スレッドを長時間拘束する必要があります。
私がやりたいのは、ストリームが開くか、開かないかを待つ効率的なコードを書くことです。NSStreamらを使用するそのような方法はありますか?
また、一定期間待つことができるイベントを作ることも考えました。接続が成功した場合、イベントは信号を送り、待機状態から抜け出します。タイムアウトが発生した場合は、ステータスをテストして失敗したかどうかを確認するか、再び待機状態に戻ることができます。しかしもちろん、これは計画Bであり、雄弁で効率的ではありません。そして、CocoaTouchのドキュメントを調べても、タイムアウトで待機できるようなシグナルを作成する方法がまったくわかりません。
どんな助けでもいただければ幸いです。