日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NSURLConnection超时大坑

發(fā)布時間:2024/9/30 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NSURLConnection超时大坑 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在ios平臺上做網(wǎng)絡開發(fā)最常用的兩個類:


NSMutableURLRequest?*urlRequest = [[NSMutableURLRequestalloc] initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicytimeoutInterval:10];? NSURLConnection?*_connection = [[NSURLConnectionalloc] initWithRequest:urlRequest delegate:selfstartImmediately:YES];

?

? ?一個用來創(chuàng)建請求,一個用來將請求發(fā)送出去。然后我們實現(xiàn)?NSUrlConnectionDelegate 的幾個回調(diào)函數(shù)就能完成整個流程了。

? ?一般發(fā)送網(wǎng)絡請求都會去設置一個超時時間,防止請求在那一直等待。根據(jù)不同的場景,我們還需要設置不同的超時時間。在上面的代碼中我們設置了10秒超時。


? ?上面的故事看起來很完美。但是 apple的開發(fā)人員在這里給我們挖了一個坑。

如果你的請求是個簡單的“Get”請求,或者木有 body的“post”請求。一切都是那么完美,請求能夠按照我們設定的時間自動超時。但是如果你發(fā)的是個“POST”請求,并且[urlRequest setHTTPBody:httpBody]; 那么,不好意思,你被潛規(guī)則了。


? ?ios3.0 以后 蘋果的sdk對這種情況做了調(diào)整,如果是post請求,并且設置了 httpBody,那么請求的超時時間就被默認設置為 240 秒了。就算你再使用[urlRequest?setTimeoutInterval:10];也是無效的,我們可以再設置完成后再讀取這個值,發(fā)現(xiàn)它不會變成10,依然保持240秒。于是乎,網(wǎng)絡不穩(wěn)定的時候,你的程序就可能會陷入漫長的等待。


? ?發(fā)現(xiàn)這個問題后。我們通過自己起timer的方式來控制超時。具體怎么弄這里就不細說。只說下我們的策略。

我們將整個網(wǎng)絡過程分為 ?鏈接建立,發(fā)送數(shù)據(jù),數(shù)據(jù)發(fā)送完成等待回包,接收數(shù)據(jù) 4個階段來控制具體的超時。


設置我們的標準超時時間為 N (系統(tǒng)默認為 10秒,網(wǎng)絡模塊通過暴露相關接口,調(diào)用方可自由設置)


? ? 鏈接建立鏈接超時時間: ? ?N * 1.5

? ? 每數(shù)據(jù)包發(fā)送超時時間: ? ?N * 1.5

? ? 數(shù)據(jù)發(fā)送完成等帶回包超時: N * 2

? ? 每數(shù)據(jù)包接收超時時間: ? ?N * 1


以上超時分別在?NSUrlConnectionDelegate 的各個回調(diào)階段進行相關設置就能達到比較精細的控制。

特別說明下,為什么數(shù)據(jù)發(fā)送完成后等待回包的超時會設置的比較長。因為在實際測試過程中發(fā)現(xiàn)發(fā)包完成到接收到第一個數(shù)據(jù)包比較耗時,一般httpbody越大越明顯,初步猜測是網(wǎng)絡模塊在發(fā)送數(shù)據(jù)緩沖區(qū)的數(shù)據(jù),所以這里做了特殊的控制。


哦了。羅嗦了半天,終于說完了。希望能對大家有幫助。能跳過這個坑。


總結

以上是生活随笔為你收集整理的NSURLConnection超时大坑的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产不卡在线观看视频 | 国产麻豆精品在线观看 | 性歌舞团一区二区三区视频 | 亚洲一区二区免费看 | 99re伊人 | 在线免费观看污网站 | 中文字幕第8页 | 色www亚洲国产张柏芝 | 久久橹 | 天天干夜夜拍 | 夜夜爽天天干 | 天天射天天干天天舔 | 恶虐女帝安卓汉化版最新版本 | 99热精品在线 | 一级在线播放 | 影音先锋中文在线 | 婷婷丁香激情五月 | 成人动漫一区二区三区 | 在线欧美| 日本在线播放视频 | 少妇99 | 中文字幕免费一区二区 | 最好看的2019中文大全在线观看 | 一区二区三区免费播放 | 性――交――性――乱睡觉 | 亚洲666| 国产精品13p| av在线第一页 | 美女扒开腿男人爽桶 | 欧美又粗又长 | 最新久久久 | 噜噜噜噜噜色 | 日韩六区 | 国产精品一区二区在线看 | 亚洲国产精品成人久久蜜臀 | 色狠狠久久av大岛优香 | 国产a∨精品一区二区三区仙踪林 | 精品国产99久久久久久宅男i | 成年网站在线观看 | 成人自拍视频在线 | 伊人网av在线 | 国产 日韩 欧美 制服丝袜 | 久久久国产一区二区三区 | 在线播放黄色av | 色哟哟入口国产精品 | 精品无码国产av一区二区三区 | 97人妻精品一区二区三区 | 国产精品jizz在线观看无码 | a级欧美 | 美女脱了内裤喂我喝尿视频 | 亚洲午夜一区二区 | 国产99色 | 国产精品成av人在线视午夜片 | 二区欧美 | 高hnp视频 | 女儿的朋友4在线观看 | 57pao成人国产永久免费视频 | 国产原创视频 | 中文在线字幕免费观 | 2018av在线| 九九99精品 | 国偷自产av一区二区三区麻豆 | 丰满人妻一区二区三区大胸 | 少妇粉嫩小泬白浆流出 | 91精品婷婷国产综合久久 | 成人手机视频在线观看 | 亚洲好看站 | 日韩精品一区二区在线视频 | 日韩激情小视频 | 欧美黄色免费观看 | 一本色道久久综合狠狠躁的推荐 | 亚洲AV无码乱码国产精品色欲 | 91视频成人| 国产一级在线视频 | 91麻豆精品在线观看 | 在线免费观看黄网 | 欧美视频一区在线观看 | 日本亚洲精品 | 午夜剧场成人 | 久操中文| 中午字幕在线观看 | 相亲对象是问题学生动漫免费观看 | 亚洲污片| 国产日韩一区二区三免费高清 | 九九影院最新理论片 | 国产精品高清在线观看 | 一本一道久久综合 | 四虎福利视频 | 91人人爱 | 欧美激情第二页 | 三及毛片 | 超碰97久久 | 古代玷污糟蹋np高辣h文 | 中文字幕一区二区三区在线观看 | 麻豆av网站| 日韩一区二区视频在线 | 亚洲大胆 | 亚洲精品粉嫩小泬 | 很很干很很日 |