我有一個應用程序可以創建一個TCP套接字並從不同種類的硬件接收數據。我的大部分客戶都是滿意的用戶,但也有一些人存在TCP連接在一段時間後中斷(可能是30秒或5分鐘)的問題。某些客戶的iOS TCP套接字連接丟失
我正在使用CFStreamCreatePairWithSocketToHost - 方法,並執行「handleEvent」方法中的所有處理。
我已經得到一些客戶的故障測井公司,我得到這個事件:「操作無法完成插座不 連接(代碼= 57)」
ErrorOccurred
一對夫婦重新連接成功後,當我嘗試重新連接我可能會得到這樣的事件:
ErrorOccurred「操作無法完成。沒有到主機的路由 (代碼= 65)」
最簡單的解釋是,創造了WiFi網絡和流數據的設備是壞的,但一些客戶也在使用連接到相同的其他應用設備,而這些應用程序不會失去聯繫。
我想盡辦法改變或改善以解決問題。
我檢查過可用數據的大小,它永遠不會超過1個句子,所以它不像任何緩衝區正在運行。
我其實也有一個小測試應用程序,除了連接到廣播設備並記錄接收到的數據之外什麼都不做,而且也失去了這些客戶的連接。
我也嘗試使用AsyncSocket
來代替,但我有同樣的問題。
我的頭髮變成了灰色...... :-)任何幫助將不勝感激。
其他信息:連接中斷代碼57(套接字未連接)。通常,應用程序可以在一秒鐘內重新連接,但有時重新連接會失敗,並顯示錯誤65(無路由到主機)。此錯誤(65)重複一段時間,然後可能會更改爲錯誤代碼22(無效參數)。一段時間後,重新連接嘗試更改爲錯誤代碼54(由對等方重置連接)。之後,它會混合錯誤代碼22和54並最終以錯誤代碼60結束(操作超時)。之後,重新連接成功。 – user1057831