翻譯:CFNetwork編程指南(六)——使用網(wǎng)絡(luò)診斷(Using Network Diagnostics)

在許多基于網(wǎng)絡(luò)的應(yīng)用中嘀粱,會(huì)發(fā)生基于網(wǎng)絡(luò)的錯(cuò)誤嚣镜,這些錯(cuò)誤與你的應(yīng)用無(wú)關(guān)爬迟。然而,大多數(shù)用戶可能不知道為什么應(yīng)用失敗菊匿。CFNetDiagnostics API為你提供一種快速而簡(jiǎn)單的方法來(lái)幫助用戶解決網(wǎng)絡(luò)問(wèn)題付呕。

如果你的應(yīng)用使用一個(gè)CFStream 對(duì)象,然后調(diào)用CFNetDiagnosticCreateWithStreams函數(shù)創(chuàng)建一個(gè)網(wǎng)絡(luò)診斷引用(CFNetDiagnosticRef) 跌捆。CFNetDiagnosticCreateWithStreams有一個(gè)分配器徽职,讀取流和寫(xiě)入流作為參數(shù)。如果你的應(yīng)用只使用讀取流或?qū)懭肓髋搴瘢词褂玫膮?shù)設(shè)置為NULL姆钉。

如果不存在流,你還可以直接從URL創(chuàng)建一個(gè)網(wǎng)絡(luò)診斷引用。要做到這一點(diǎn)潮瓶,調(diào)用CFNetDiagnosticCreateWithURL 函數(shù)陶冷,并傳遞一個(gè)分配器,URL到CFURLRef毯辅。它將返回一個(gè)網(wǎng)絡(luò)診斷引用供你使用埃叭。

為了通過(guò)網(wǎng)絡(luò)診斷助手診斷問(wèn)題,調(diào)用CFNetDiagnosticDiagnoseProblemInteractively 函數(shù)并傳遞網(wǎng)絡(luò)診斷引用悉罕。列表6-1展示了如何使用CFNetDiagnostics 診斷在運(yùn)行循環(huán)上實(shí)現(xiàn)的流赤屋。

列表6-1 當(dāng)發(fā)生流錯(cuò)誤時(shí)使用CFNetDiagnostics API
<pre><code>
case kCFStreamEventErrorOccurred:

    CFNetDiagnosticRef diagRef =
        CFNetDiagnosticCreateWithStreams(NULL, stream, NULL);   

    (void)CFNetDiagnosticDiagnoseProblemInteractively(diagRef);
    CFStreamError error = CFReadStreamGetError(stream);
    reportError(error);
    CFReadStreamClose(stream);
    CFRelease(stream);
    break;

</pre></code>

CFNetworkDiagnostics 同樣可以檢索問(wèn)題的狀態(tài),而不是使用網(wǎng)絡(luò)診斷助手壁袄。通過(guò)調(diào)用CFNetDiagnosticCopyNetworkStatusPassively类早,便可以完成。該函數(shù)返回一個(gè)常數(shù)例如kCFNetDiagnosticConnectionUp 或kCFNetDiagnosticConnectionIndeterminate嗜逻。

官方原文地址:

https://developer.apple.com/library/ios/documentation/Networking/Conceptual/CFNetwork/UsingNetworkDiagnostics/UsingNetworkDiagnostics.html#//apple_ref/doc/uid/TP30001132-CH7-SW1

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末涩僻,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子栈顷,更是在濱河造成了極大的恐慌逆日,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,464評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件萄凤,死亡現(xiàn)場(chǎng)離奇詭異室抽,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)靡努,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)坪圾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人惑朦,你說(shuō)我怎么就攤上這事兽泄。” “怎么了漾月?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,078評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵病梢,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我梁肿,道長(zhǎng)蜓陌,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,979評(píng)論 1 299
  • 正文 為了忘掉前任栈雳,我火速辦了婚禮护奈,結(jié)果婚禮上缔莲,老公的妹妹穿的比我還像新娘哥纫。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,001評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布蛀骇。 她就那樣靜靜地躺著厌秒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪擅憔。 梳的紋絲不亂的頭發(fā)上鸵闪,一...
    開(kāi)封第一講書(shū)人閱讀 52,584評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音暑诸,去河邊找鬼蚌讼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛个榕,可吹牛的內(nèi)容都是我干的篡石。 我是一名探鬼主播,決...
    沈念sama閱讀 41,085評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼西采,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼凰萨!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起械馆,我...
    開(kāi)封第一講書(shū)人閱讀 40,023評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤胖眷,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后霹崎,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體珊搀,經(jīng)...
    沈念sama閱讀 46,555評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,626評(píng)論 3 342
  • 正文 我和宋清朗相戀三年尾菇,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了食棕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,769評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡错沽,死狀恐怖簿晓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情千埃,我是刑警寧澤憔儿,帶...
    沈念sama閱讀 36,439評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站放可,受9級(jí)特大地震影響谒臼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜耀里,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,115評(píng)論 3 335
  • 文/蒙蒙 一蜈缤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧冯挎,春花似錦底哥、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,601評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)续滋。三九已至,卻和暖如春孵奶,著一層夾襖步出監(jiān)牢的瞬間疲酌,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,702評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工了袁, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留朗恳,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,191評(píng)論 3 378
  • 正文 我出身青樓载绿,卻偏偏與公主長(zhǎng)得像僻肖,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子卢鹦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,781評(píng)論 2 361

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

  • 本文討論如何創(chuàng)建臀脏、打開(kāi)和檢查讀寫(xiě)流錯(cuò)誤。它還描述了如何從讀取流讀取信息冀自,如何從寫(xiě)入信息到寫(xiě)入流揉稚,如何在讀取或?qū)懭肓?..
    栗子烤肉閱讀 1,612評(píng)論 0 4
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,318評(píng)論 25 707
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)熬粗,斷路器搀玖,智...
    卡卡羅2017閱讀 134,714評(píng)論 18 139
  • 中國(guó)桂農(nóng)卡惠民惠商含末,財(cái)富之首猜拾。 中國(guó)桂農(nóng),惠農(nóng)桂普是一個(gè)簡(jiǎn)稱佣盒,是由凱睿國(guó)際香港實(shí)業(yè)有限公司和深圳永鑫聯(lián)投行管理有限...
    定點(diǎn)_a1f5閱讀 256評(píng)論 0 0
  • 去年有次去塘朗山轉(zhuǎn)挎袜,只知是梅林方向 聽(tīng)到梅林就下車 附近一個(gè)高高十字架,初以為是十字會(huì)肥惭, 到門(mén)口,教堂 回來(lái)才了解...
    鍾離別閱讀 248評(píng)論 2 1