iOS 讀書筆記-網路API

來源:互聯網
上載者:User

標籤:網路   ios   

文章來自《ios網路進階編程》 在這裡只是摘錄,其中還有好多東西不知道是什麼,等做完整本書的筆記回過頭來看下。

架構的每一層都提供了一套關鍵api,為開發人員提供了各種功能與控制。
1 nsurlconnection 是cocoa層級的api,它提供了簡單的方法來載入url請求,可以與web service直接進行互動、擷取圖片、視頻還能簡單的得到一個格式化的html文檔。它構建在NSStream之上,並且在http、https、檔案和ftp進行了最佳化。NSURLConnection限制了你所使用的協議,但是提供了一個健壯的緩衝引擎。
2 Game Kit
game kit 的核心功能在於提供了一個點到點的網路選項。在傳統的網路設定中,game kit構建在bonjour之上;然而,game kit 並不需要網路基礎設施就能使用。他能建立自組的bluetooth personal area networks(PAN),這樣在極少或者沒有基礎網路的地方就是很好的網路候選者。
3 Bonjour
bonjour 是apple 對零配置網路的實現。它提供了一種機制,可以檢測並於網路裝置進行串連,而無需瞭解裝置的網路地址。bonjour通過名字、服務類型與域這個元件來引用服務。他對多播DNS與基於DNS的服務探索所要求的底層網路進行了抽象。
在cocoa層,NSNetService API 提供了一個介面,用於發布和解析Bonjour服務的地址資訊,可以通過NSNetServiceBrowser API 探索網路上可用的服務。發布Bonjour服務需要理解core Foundation才能配置好通訊所需的socket。
4 NSStream
NSStream 是一個cocoa層級的api,構建在CFNetwork之上,最為NSURLConnection的基礎,旨在完成一些網路任務。類似於NSURLConnection,NSStream提供了一種機制,用以與遠程伺服器或本地檔案進行通訊。不過可以通過NSStream在諸如telnet或SMTP等NSURLConnection不支援的協議之上進行通訊。
NSStream 提供的額外的控制是有代價的。他並沒有提供對HTTP/s響應狀態代碼或認證內建的支援。他所發出與接收的資料都位於c的緩衝區。他還無法管理多個外發請求,需要子類化才能添加這個特徵。NSstream是非同步,通過NSstreamDelegate 實現通訊更新。
5CFNetwork
CFNetwork API 位於基礎的BSD socket之上,用在NSStream、URL載入系統、Bonjour與geme kit API 的實現中,他為http 與FTP等進階協議提供了原生支援。CFNetwork 與BSD socket之間的主要差別在於運行迴圈的整合。如果應用使用了CFNetwork那麼輸入與輸出都會在運行迴圈中進行調度。
CFNetwork比url載入系統都提供了更多的配置選項。在使用CFNetwork建立http請求時可以使用這些配置選項,在建立請求時,需要手工將請求一同發送的http頭和cookie資訊一起添加進去。而在NSURLConnection中,這些都會被自動添加。
CFNetwork基礎設施構建在core foundation 層的CFsocket與cfstream api之上,CFNetwork 包含了針對特定協議的API ,比如用於FTP伺服器通訊的CFFTP、用於發送和接受http訊息的CFHTTP、用於發布與瀏覽Bonjour服務的CFNetServices 等。
6 BSD socket
構成了大多數Internet活動的基礎,是網路架構的最底層。BSD socket 使用c實現,但是可以使用在oc中。不推薦使用BSD socket API ,例如BSD socket 無法穿過系統範圍的VPN,wi-fi或者蜂窩無線被關閉了,調用其api 也無法自動啟用。apple 建議使用CFNetwork 或是更高層的API。

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

iOS 讀書筆記-網路API

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.