- TCP:安全的協議,能保證數據順序和正確性,服務器和客戶端能隨時互發數據。如果服務器要主動發送數據給客戶端,可以用這個協議
- UDP:非安全的協議,容易丟失數據,一般用于練級堆棧的游戲
- XMPP:給予XML通訊的協議,基于TCP發送XML數據,一般用于即時通訊(比如QQ、微信)
- HTTP:一般用于非實時鏈接的請求,只有客戶端主動向服務器發送請求時,服務器才能返回數據給客戶端
- SOCKET:套接口,可以使用TCP/DUP/XMPP通訊
數據請求編碼: - 200表示一個正確的請求,206表示請求只加載了一部分,404表示網絡請求的頁面不存在;503表示服務器超時,400請求出錯。
- 端點續傳:客戶端軟件端點續傳的值在下載或者上傳時,將下載或者上傳的文件人為的劃分為幾個部分,每個部分一個線程進行上傳或者下載的,如果網絡異常,可以從上傳或者下載的部分重新上傳或者下載未下載的部分,提高速度,節省時間。
創建串行隊列加入異步任務
- 生成文件名,用文件名和存放路徑生成文件路徑
- 發送網絡請求獲取待生成文件大小
- 設定每次下載的字節數,循環下載(循環判斷是剩余字節是否大于循環下載字節)
- 發送請求時設定http頭的range范圍,根據每次循環fromB和toB來設定
- 每次下載成功返回的數據寫入到之前設定好的文件中
Socket鏈接與HTTP鏈接
由于通常情況下socket鏈接就是TCP鏈接,因此Socket鏈接一旦建立,通信雙方即可開始相互發送數據內容,知道雙方鏈接斷開。但在實際網絡應用中,客戶端到服務器之間的通信往往需要穿越多個中間節點,例如路由器、網關、防火墻等,大部分防火墻默認會關閉長時間處于非活躍狀態,而HTTP鏈接使用的是”請求-響應“的方式,不僅在請求時需要先建立鏈接,而且需要客戶端向服務器發出請求后,服務器端菜能恢復數據。很多情況下,需要服務器端主動向客戶端推送數據,保持客戶端與服務器數據的實時與同步。此時若雙方建立的是Socket鏈接,服務器就可以直接將數據傳送給客戶端,若雙方建立的是HTTP鏈接,則服務器需要等到客戶端發送一次請求后才能將數據傳回給客戶端,因此,客戶端定時向服務器發送鏈接請求,不僅可以保持在線,同時也是在詢問服務器是否有新的 數據,如果有就將數據傳給客戶端
HTTP給予socket做出來的,所有的網絡功能都是基于socket做出來的。
文件存儲
偏好設置存儲