【讀書筆記】iOS網路-底層網路,讀書筆記ios

來源:互聯網
上載者:User

【讀書筆記】iOS網路-底層網路,讀書筆記ios

在iOS上,有一個庫叫做Core Foundation networking或CFNetwork,它是對原始Socket的輕量級封裝,不過它很快對於大多數常見情境來說變得非常笨重了。最後,添加了另一層(NSStream)來封裝CFNetwork,並且作為最基礎的Objective-C網路API。大家更熟悉的類(比如NSURLConnection與UIWebView)都是非常便於使用的,而且能夠通過很少的程式碼完成很多事情,這都是由於這些底層庫所提供的堅實基礎而實現的。

一,BSD Socket

Apple並不推薦這種方式,因為原始的Socket無法訪問作業系統內建的網路特性(比如系統範圍VPN)。更糟糕的是,初始化Socket串連並不會自動開啟裝置的Wi-Fi或是蜂窩無線電。無線電會智能地關閉以節省電池電量,任何通訊串連都會失敗,除非其他網路時程啟用了無線電。CFNetwork對BSD Socket的封裝可以啟用裝置的無線電,因此在幾乎所有的情境中,我們都建議使用CFNetwrok,而非BSD Socket.

二,CFNetwork

CFNetworkd位於架構層次的更上一層,是對BSD Socket的一層輕量級封裝。

三,NSStream

沿著架構層次再往上起雞皮疙瘩就是NSStream了,它是針對CFNetwork API的Objective-C封裝器。

四,總結。

架構層次越往上,代碼就會越短越簡單,不過,你卻失去了一些能力,因為每個抽象層都隱藏了實際執行通訊的原始網路Socket.

 

參考資料:《iOS網路進階編程-iPhone和iPad的公司專屬應用程式開發》

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.