4

BSDソケットを使用してセットアップされたマルチマルチ送受信(つまり電話会議)に対応するiPhoneVOIPアプリがあります。バックグラウンドで着信リクエストに応答できるようにしたいのですが、iOS 4のドキュメントを理解できることから、プロパティをNSStreamNetworkServiceTypeVoIPに設定することで、NSStreamオブジェクト(またはCFRead / WriteStream)でのみこれを行うことができます。 。私のシステムはUDPBSDソケットベースのアプリケーションであるため、これは少し問題です。すべてが単一のUDPソケットで送受信されます。

NSStreamsを処理するためにオーディオ送信/受信コアを書き直す必要がありますか、それともiOS 4にNSStreamと同様の方法でBSDソケットを処理させる方法はありますか?NSStreamはイベントベースであるため、これは問題になる可能性があると思います。

アプリケーションがバックグラウンドに移行したことを検出し、関連する処理を介してデータを渡し、通常どおり続行する一時的なNSStreamオブジェクトを構築することは可能でしょうか?UDP NSStreamを作成することさえ可能ですか?

何か案は?

4

1 に答える 1

5

CFSocketCreateWithNative()を使用してファイル記述子からソケットを作成してから、CFStreamCreatePairWithSocket()を使用してストリームのペアを作成できます。UDPソケットで使用できる場合があります。要求しない限りストリームがデータを読み取らない場合は、FDを直接使用することで回避できる可能性があります。

それでも頑張ってください!

于 2010-08-13T18:47:56.260 に答える