iOS 長連接-GCDAsyncSocket常見錯(cuò)誤整理

code:1

重復(fù)連接

code:1,domain:GCDAsyncSocketErrorDomain,userInfo:{
NSLocalizedDescription = Attempting to connect while connected or accepting connections. Disconnect first.}

code:4

在設(shè)置時(shí)間內(nèi)未完成讀操作。
可復(fù)現(xiàn):連接成功后,設(shè)置時(shí)間內(nèi)服務(wù)器不向客戶端發(fā)送數(shù)據(jù)。
Error Domain=GCDAsyncSocketErrorDomain Code=4 "Read operation timed out" UserInfo={NSLocalizedDescription=Read operation timed out}

code:7

服務(wù)器斷開

Error Domain=GCDAsyncSocketErrorDomain Code=7 "Socket closed by remote peer" UserInfo={NSLocalizedDescription=Socket closed by remote peer}

code:8

通常是由于沒有網(wǎng)絡(luò),比如數(shù)據(jù)或者wifi處于關(guān)閉狀態(tài)或者設(shè)備處于飛行模式下,此時(shí)socket連接一般會報(bào)該種錯(cuò)誤.
可復(fù)現(xiàn):連接成功后斷開網(wǎng)絡(luò),連接失敗后,重新連接。
Error Domain=kCFStreamErrorDomainNetDB Code=8 "nodename nor servname provided, or not known" UserInfo={NSLocalizedDescription=nodename nor servname provided, or not known}

code:51

網(wǎng)絡(luò)斷開,不可用.

code:51,domain:NSPOSIXErrorDomain,userInfo:{
NSLocalizedDescription = Network is unreachable;
NSLocalizedFailureReason = Error in connect() function
}

code:57

此種情況一般是socket處于連接狀態(tài)中時(shí),網(wǎng)絡(luò)突然斷開時(shí)導(dǎo)致.
可復(fù)現(xiàn):連接成功后斷開網(wǎng)絡(luò)。
Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={_kCFStreamErrorCodeKey=57, _kCFStreamErrorDomainKey=1}

code:60

TCP套接字調(diào)用connect會激發(fā)三次握手,內(nèi)核發(fā)送一個(gè)SYN分節(jié),若無響應(yīng)則等待6s后再次發(fā)送一個(gè),仍無響應(yīng)則等待24s再發(fā)送一個(gè),若總共等了75s后仍未收到響應(yīng)則返回ETIMEDOUT錯(cuò)誤.

code:60,domain:NSPOSIXErrorDomain,userInfo:{

NSLocalizedDescription = Operation timed out;

NSLocalizedFailureReason = Error in connect() function

}

code:61

此種情況一般是由于socket后臺服務(wù)器對應(yīng)的端口服務(wù)沒有起來導(dǎo)致,客戶端如果socket在連接中報(bào)Code = 61這個(gè)錯(cuò),基本可以肯定是socket后端端口服務(wù)沒有起來,直接找后端即可.

code:61,domain:NSPOSIXErrorDomain,userInfo:{
NSLocalizedDescription = "Connection refused";
NSLocalizedFailureReason = "Error in connect() function";
}


  • 參考資料

Asyncsocket常見錯(cuò)誤碼
iOS GCDAsyncSocket 錯(cuò)誤提示 57
Socket 連接錯(cuò)誤及原因
關(guān)于socket的connect超時(shí)的問題
網(wǎng)絡(luò)編程Socket之TCP之connect詳解
網(wǎng)絡(luò)編程socket之connect函數(shù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。

友情鏈接更多精彩內(nèi)容