一,網絡結構。編程
1,客戶端服務器網絡結構。服務器
客戶端服務器網絡結構是一種主從網絡結構。服務器是被動的,有點像餐廳的服務員。而客戶端是主動的,像在餐廳吃飯的顧客。網絡
2,對等網絡結構。框架
對等網絡也叫點對點網絡。每一個節點之間是對等的。編程語言
對等網絡結構分佈範圍比較小。一般在一間辦公室或一個家庭內,所以它很是適合iOS設備間的網絡通訊,網線路鏈路層是由藍牙和WiFi實現。iOS SDK提供了這方面的API供開發者使用。性能
二,基於Socket的C/S結構網絡通訊。spa
1,Socket概念。接口
Socket是網絡上的兩個程序,經過一個雙向的通訊鏈接,實現數據的交換。這個雙向鏈路的一端稱爲一個Socket.Socket一般用於實現客戶方和服務方的鏈接。Socket是TCP/IP協議的一個十分流行的編程接口,一個Socket由一個IP地址和一個端口號惟一肯定。遊戲
咱們把Socket編程叫作「低層次網絡編程」。資源
Socket採用TCP/IP協議模型。TCP/IP協議的傳輸層又有兩種傳輸協議:TCP(傳輸控制協議)和UDP(用戶數據協議).TCP是基於鏈接的,而UDP是無鏈接的;TCP對系統資源的要求較多,而UDP少。TCP保證數據正確性而UDP可能丟包;TCP保證數據順序而UDP不保證。
2,Socket編程。
客戶端流程是先指定要通訊的服務器IP地址,端口和採用的傳輸協議(TCP或UDP),向服務器發出鏈接請求,服務器有應答請求以後,就會創建鏈接,以後與服務器端是同樣的。
Socket編程是一種網絡編程的標準,客戶端和服務器端能夠不受編程語言的限制,徹底自由通訊。客戶端能夠是Object-C編寫的iOS程序,服務器端能夠是Java編寫的程序,通訊雙方定義好數據交互格式就能夠了。
3,實例:NSStream&CFStream實現TCP Socket服務器端。
4,實例:NSStream&CFStream實現TCP Socket客戶端。
三,Bonjour服務發現。
Socket有一個問題,須要指定服務器的端口和IP地址。在有些狀況下,得到服務器的這些信息是很困難的。蘋果公司開發了一種零配置發現協議,命名爲Bonjour(法語「你好」),使咱們的尖用沒必要指定服務器端口和IP地址就能夠動態發現。
1,發佈服務
2,解析服務
3,查找服務
4,實例:基於服務發現的Socket通訊服務器端。
5,實例:基於服務發現的Socket 通訊客戶端。
四,對等網絡結構。
對等網絡結構是蘋果公司的Ad Hoc網絡的一種,在小空間裏構建無限網絡的解決方案。蘋果公司在Game Kit框架中提供了開發這種網絡的API。
1,使用Game Kit開發對等結構網絡應用。
在iOS3以後,蘋果公司提供了用於本身遊戲中心開發的API,這就是Game Kit框架。在新發布的iOS6中,蘋果公司地Game Kit進行了比較大的調整。藉助於Game Kit中的對等網絡,API不只能夠開發基於Ad Hoc的網絡遊戲,也能夠在其餘類型的應用中使用這些API。
基於藍牙鏈接的對等網絡在數據傳輸是,傳輸的距離有限制,另外Game Kit對於傳輸的數據量也有必定的限制,數據量最大不能超過87KB,處於性能的考慮傳輸數據不要超過1000字節,若是超過,分割成幾個數據包傳輸。
2,實例:基於藍牙對等網絡通訊。
參考資料:《iOS網絡編程與雲端應用-最佳實踐》