上傳——斷點續傳之理論篇


一、流與緩存區
 
1.1  如何理解流?
 
        流是一種連接,一種管道,它建立了與物理文件或網絡相關聯的機制,方便讀寫文件或者網絡。當然還有其它類型的流。  
     
1.2  流的操作
 
      讀取:將數據從流傳輸到緩存區,緩沖區就是內存中的一塊區域,代碼中常用byte數組。
      寫入:將數據從數據源傳輸到流中。
      流用完后需要釋放資源,因為文件或者網絡連接都屬於非托管資源,需要手動釋放。
 
二、客戶端和服務器的通信
 
       http通信,通過接口請求、響應。
 
三、何為斷點續傳
 
     從哪跌倒,就從哪爬起,顧名思義,從上次斷開的位置接着傳輸。
 
四、為什么需要斷點續傳
 
     優點:針對大文件且網絡不太穩定的情況,斷點續傳能節省帶寬。
     缺點:增加額外的通信
 
五、如何進行斷點續傳
      斷點續傳的解決方案,如下圖所示:
     

 

上圖中,主要描述了客戶端和服務器通信的情況

客戶端:

     1、需要知道上次斷點位置

     2、計算當前開始傳輸的位置

     3、傳輸文件

如何傳輸文件,比如分片還是不分片,是多線程還是不用多線程,這些都需要設計與考慮。如果用了多線程,就會增加問題的復雜度。當然用好了,好處也很多。

服務端:

    創建文件的服務

    提供斷點位置的服務

    如果是分片傳輸,還要提供合並分片的服務

 

 

      


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM