GCDAsyncSocket常見(jiàn)部分錯(cuò)誤及處理方法

因?yàn)轫?xiàng)目中用用到socket通信 實(shí)現(xiàn)夸平臺(tái)的局域網(wǎng)實(shí)時(shí)通信桥温。下面羅列一些我在使用過(guò)程中遇見(jiàn)錯(cuò)誤和我的處理方式:一般socket通信的錯(cuò)誤都會(huì)傳到- (void)socketDidDisconnect:(GCDAsyncSocket*)sock withError:(NSError*)error 這個(gè)代理方法中

1.Error Domain=GCDAsyncSocketErrorDomain Code=4 "Read operation timed out" UserInfo=0xa8db6a0 {NSLocalizedDescription=Read operation timed out}

scoket讀取數(shù)據(jù)超時(shí)墓猎,當(dāng)網(wǎng)絡(luò)不怎么穩(wěn)定通信方給發(fā)送消息的時(shí)候時(shí)不時(shí)的會(huì)冒一個(gè)這個(gè)錯(cuò)誤嗅剖,而且Socket也會(huì)自動(dòng)斷開(kāi)連接。一直跟蹤GCDAsyncSocket.m的代碼5068行<可能代碼有更新的會(huì)有點(diǎn)差異>有一個(gè)方法

- (void)setupReadTimerWithTimeout:(NSTimeInterval)timeout

這個(gè)方法是就是專(zhuān)門(mén)監(jiān)聽(tīng)socket讀取數(shù)據(jù)是否有超時(shí)的現(xiàn)象的方法,源代碼設(shè)置成if(timeout >=0.0)即檢測(cè)到超時(shí)就拋異常 這樣很容易導(dǎo)致socket連接異常弟胀。

處理方式:你可以打印一下這個(gè)timeout值沛励,就會(huì)大概知道你的socket讀取數(shù)據(jù)超時(shí)的范圍匹涮,在項(xiàng)目允許的范圍內(nèi)設(shè)置這個(gè)值的大小吁断,因?yàn)槲业捻?xiàng)目總是在10以?xún)?nèi)趁蕊,所以我設(shè)置成if(timeout >10.0)之后,基本運(yùn)行的時(shí)候就很少拋這個(gè)異常了仔役。你也可以再接收到這個(gè)異常的時(shí)候重新連接一次掷伙。

2.Error Domain=GCDAsyncSocketErrorDomain Code=3 "Attempt to connect to host timed out" UserInfo=0x7bd14f40 {NSLocalizedDescription=Attempt to connect to host timed out}

socket連接的時(shí)候超時(shí),一般發(fā)生在你向服務(wù)端發(fā)送一條連接消息的時(shí)候又兵,服務(wù)端無(wú)響應(yīng)炎咖,一般是由于服務(wù)端沒(méi)有開(kāi)啟服務(wù),也有可能是設(shè)置響應(yīng)時(shí)間的timeout值過(guò)小寒波,在GCDAsyncSocket.m的代碼1938行的位置有一個(gè)設(shè)置timeout的地方 你可以設(shè)置一個(gè)稍微比較長(zhǎng)的響應(yīng)時(shí)間

- (BOOL)connectToHost:(NSString*)host onPort:(uint16_t)port error:(NSError**)errPtr

{

return[selfconnectToHost:hostonPort:portwithTimeout:5error:errPtr];

}

3.Error Domain=GCDAsyncSocketErrorDomain Code=51,網(wǎng)絡(luò)斷開(kāi)升熊,可以檢查一下網(wǎng)絡(luò)連接狀態(tài)

4.Error Domain=NSPOSIXErrorDomain Code=61 "Connection refused" UserInfo=0x7b288750 {NSLocalizedFailureReason=Error in connect() function, NSLocalizedDescription=Connection refused}

服務(wù)器沒(méi)啟動(dòng)俄烁,或者端口沒(méi)開(kāi)啟。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末级野,一起剝皮案震驚了整個(gè)濱河市页屠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蓖柔,老刑警劉巖辰企,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異况鸣,居然都是意外死亡牢贸,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)镐捧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)潜索,“玉大人,你說(shuō)我怎么就攤上這事懂酱≈裣埃” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵列牺,是天一觀(guān)的道長(zhǎng)整陌。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么泌辫? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任随夸,我火速辦了婚禮,結(jié)果婚禮上甥郑,老公的妹妹穿的比我還像新娘逃魄。我一直安慰自己,他們只是感情好澜搅,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布伍俘。 她就那樣靜靜地躺著,像睡著了一般勉躺。 火紅的嫁衣襯著肌膚如雪癌瘾。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,950評(píng)論 1 291
  • 那天饵溅,我揣著相機(jī)與錄音妨退,去河邊找鬼。 笑死蜕企,一個(gè)胖子當(dāng)著我的面吹牛咬荷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播轻掩,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼幸乒,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了唇牧?” 一聲冷哼從身側(cè)響起罕扎,我...
    開(kāi)封第一講書(shū)人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎丐重,沒(méi)想到半個(gè)月后腔召,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扮惦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年臀蛛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片崖蜜。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡掺栅,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出纳猪,到底是詐尸還是另有隱情氧卧,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布氏堤,位于F島的核電站沙绝,受9級(jí)特大地震影響搏明,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜闪檬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一星著、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧粗悯,春花似錦虚循、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至衫哥,卻和暖如春茎刚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背撤逢。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工膛锭, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蚊荣。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓初狰,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親互例。 傳聞我的和親對(duì)象是個(gè)殘疾皇子跷究,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容