Android 斷點續傳,android斷點續傳
斷點續傳指的是在下載或上傳時,將下載或上傳任務(一個檔案或一個壓縮包)人為的劃分為幾個部分,每一個部分採用一個線程進行上傳或下載,如果碰到網路故障,可以從已經上傳或下載的部分開始繼續上傳下載未完成的部分,而沒有必要從頭開始上傳下載。使用者可以節省時間,提高速度 使用多線程斷點續傳下載的時候,將下載或上傳任務(一個檔案或一個壓縮包)人為的劃分為幾個部分,每一個部分採用一個線程進行上傳或下載,多個線程並發可以佔用伺服器端更多資源,從而加快下載速度。 在下載(或上傳)過程中,如果網路故障、電量不足等原因導致下載中斷,這就需要使用到斷點續傳功能。下次啟動時,可以從屬記錄位置(已經下載的部分)開始,繼續下載以後未下載的部分,避免重複部分的下載。斷點續傳實質就是能記錄上一次已下載完成的位置。 斷點續傳的過程 ①斷點續傳需要在下載過程中記錄每條線程的下載進度; ②每次下載開始之前先讀取資料庫,查詢是否有未完成的記錄,有就繼續下載,沒有則建立新記錄插入資料庫; ③在每次向檔案中寫入資料之後,在資料庫中更新下載進度; ④下載完成之後刪除資料庫中下載記錄。 斷點續傳在HTTP請求上和一般的下載有所不同,用戶端瀏覽器傳給Web伺服器的時候要多加一條資訊——從哪裡開始(HTTP請求變數)。要實現HTTP斷點續傳,Web伺服器必須支援HTTP/1.1(相對於HTTP/1.0老版本)。 HTTP請求是有一個Header的,裡面有個Range屬性是定義下載地區的,它接收的值是一個區間範圍,比如:Range:bytes=0-10000。這樣我們就可以按照一定的規則,將一個大檔案拆分為若干很小的部分,然後分批次的下載,每個小塊下載完成之後,再合并到檔案中;這樣即使下載中斷了,重新下載時,也可以通過檔案的位元組長度來判斷下載的起始點,然後重啟斷點續傳的過程,直到最後完成下載過程。 FTP實現斷點續傳 FTP協議也可以支援斷點續傳下載資料,基本原理是用get命令拿資料的時候在檔案名稱後面加上要擷取的起始位置。FTP實現斷點續傳有三個條件: ①斷點續傳需要伺服器的支援,FTP伺服器必須能提供斷點續傳的功能。 傳統的FTP Server是不支援斷點續傳的,因為它不支援REST指令;目前包括IIS和大部分的FTP架設軟體都有了這個功能。用Serv-U架設FTP伺服器就能支援斷點續傳。 ②支援斷點續傳的下載工具軟體 QQ旋風、迅雷、影音傳送帶等大多下載軟體都支援斷點續傳;IE瀏覽器5.0以前的版本預設的內建下載方式不支援斷點續傳。在手機上,UC瀏覽器支援斷點續傳,能夠自動儲存已下載的部分,重新開啟之後可以繼續在已下載部分的基礎上繼續下載。 ③FTP伺服器上的檔案要與下載到硬碟中的檔案名稱相同。 在使用IE下載檔案時,遇到網路中斷,不需要重新啟動機器,也可實現斷點續傳。前提是,在恢複下載、開始斷點續傳並提示再次儲存檔案時,要使用和第一次下載時相同的路徑和檔案名稱。 斷點續傳的特點 斷點續傳支援從檔案上次中斷的地方開始傳送資料,而並非是從檔案開頭傳送。 斷點續傳下載軟體具有以下特點: 1、斷點續傳功能,既可節約時間又可以節約金錢。 2、定時下載功能,可以為將要下載的軟體制定一工作清單,讓下載軟體在規定的時間自動撥接並下載軟體,下載完畢後再自動掛起Modem,斷開與internet的串連,甚至自動關閉電腦。 3、多檔案同時下載。 4、支援拖放式操作,可將下載檔案的URL超連結用滑鼠拖放到下載軟體的視窗上,即可啟用下載軟體,同時開始檔案的下載。 5、自動貼齊剪貼簿上的URL並啟用下載軟體,可以捕捉到剪貼簿中的URL,甚至瀏覽器中單擊下載檔案超連結,即可啟用程式實現檔案的下載。 6、致命錯誤發生時的關閉機制。 7、預防病毒侵害的安全機制,檔案下載完畢,即可自動將其發送到指定的病毒的檢測軟體進行病毒掃描。 斷點續傳下載軟體包括Thunder、NetAnts、FlashGet、Net Vampire、Download Manager、GetRight、Go!Zilla、WinDownload等。