0

iOS用のカスタムソフトフォンを開発しています。シグナリングとして TCP 接続を使用します。ほとんどすべてが正常に動作します。

問題: ソフトフォンがバックグラウンド モードの場合、サーバーまたはルーター側から接続が切断されることがあります。ソフトフォンは再確立しますが、この新しい接続は安定していないようです。再び 20 ~ 25 秒で閉じます。なぜ閉鎖されたのかは不明です。iOS はそのような接続を閉じることができますか?

TCP 接続は iOS バックグラウンド モードで問題なく作成できますか? 誰でも経験を共有できますか?

ありがとうございました!

PS voip アプリケーションに必要なソケット ストリームのペアを追加し、.plist ファイルには voip&audio モードが含まれています。

4

1 に答える 1

0

発見した。tcpソケットを作成し、iOSで追跡できるようにして、ホストに接続しようとしました。

ただし、正しい順序は次のとおりである必要があります。1)ソケットを作成します。2)接続を呼び出します。3)ソケットが接続されるまで待ちます(非ブロッキングソケットの場合)。select()呼び出しでソケットが書き込み可能かどうかを確認しました。4)iOSでソケットを追跡可能にする-このソケットのCFReadStream / CFWriteStreamペアを作成し、必要なプロパティを設定して、読み取りストリームを開きます。

このシーケンスでは機能します。

于 2012-11-30T12:53:54.203 に答える