TCPソケットを作成し、さまざまな種類のハードウェアからデータを受信するアプリがあります。私の顧客の大多数は満足しているユーザーですが、TCP接続がしばらくすると(30秒または5分になる可能性があります)中断されるという問題を抱えている顧客もいます。
CFStreamCreatePairWithSocketToHost --アプローチを使用しており、すべての処理を「handleEvent」メソッドで実行します。
失敗のログを記録している顧客がいますが、次のイベントが発生します。
ErrorOccurred「操作を完了できませんでした。ソケットが接続されていません(コード= 57)」
再接続が数回成功した後、再接続しようとするとこのイベントが発生する可能性があります。
ErrorOccurred "操作を完了できませんでした。ホストへのルートがありません(コード= 65)"
簡単に説明すると、WiFiネットワークを作成してデータをストリーミングするデバイスは不良ですが、同じデバイスに接続する他のアプリも使用している顧客もいて、それらのアプリは接続を失うことはありません。
問題を解決するために何を変更または改善するかについてのアイデアが不足しています。
使用可能なデータのサイズを確認しましたが、1文を超えることはないため、バッファがいっぱいになっているわけではありません。
私は実際には、ブロードキャストデバイスに接続して受信したデータをログに記録するだけの小さなテストアプリも持っています。これにより、これらの顧客の接続も失われます。
私もAsyncSocket
代わりに使用しようとしましたが、同じ問題が発生しています。
私の髪は灰色になっています...:-)どんな助けもいただければ幸いです。