Android 斷點續傳

来源:http://www.cnblogs.com/wumingchen/archive/2016/08/10/5758564.html
-Advertisement-
Play Games

斷點續傳指的是在下載或上傳時,將下載或上傳任務(一個文件或一個壓縮包)人為的劃分為幾個部分,每一個部分採用一個線程進行上傳或下載,如果碰到網路故障,可以從已經上傳或下載的部分開始繼續上傳下載未完成的部分,而沒有必要從頭開始上傳下載。用戶可以節省時間,提高速度 使用多線程斷點續傳下載的時候,將下載或上 ...


斷點續傳指的是在下載或上傳時,將下載或上傳任務(一個文件或一個壓縮包)人為的劃分為幾個部分,每一個部分採用一個線程進行上傳或下載,如果碰到網路故障,可以從已經上傳或下載的部分開始繼續上傳下載未完成的部分,而沒有必要從頭開始上傳下載。用戶可以節省時間,提高速度   解讀斷點續傳的基本原理 - 以德糊人 - ——挨踢民工 Playkid——   使用多線程斷點續傳下載的時候,將下載或上傳任務(一個文件或一個壓縮包)人為的劃分為幾個部分,每一個部分採用一個線程進行上傳或下載,多個線程併發可以占用伺服器端更多資源,從而加快下載速度。   在下載(或上傳)過程中,如果網路故障、電量不足等原因導致下載中斷,這就需要使用到斷點續傳功能。下次啟動時,可以從記錄位置(已經下載的部分)開始,繼續下載以後未下載的部分,避免重覆部分的下載。斷點續傳實質就是能記錄上一次已下載完成的位置。     斷點續傳的過程   ①斷點續傳需要在下載過程中記錄每條線程的下載進度;   ②每次下載開始之前先讀取資料庫,查詢是否有未完成的記錄,有就繼續下載,沒有則創建新記錄插入資料庫;   ③在每次向文件中寫入數據之後,在資料庫中更新下載進度;   ④下載完成之後刪除資料庫中下載記錄。   解讀斷點續傳的基本原理 - 以德糊人 - ——挨踢民工 Playkid——   斷點續傳在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等。
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • objKeySort(obj) ; //函數執行Object {ace: 5, age: 8, name: "zhangsan", nbme: "lisi"};// 執行結果 如果要倒序排列,只需在newkey這個數組中的每一項進行顛倒即可,即var newkey = Object.keys(obj ...
  • 很多時候佈局中需要文字垂直居中,有個CSS屬性:vertical-align: middle;該屬性在table里用是有效果的,很多塊級元素沒反應。這裡有2個屬性可以模擬table,來讓vertical-align: middle屬性生效。 很簡單父級元素給固定寬高加上屬性display: tabl ...
  • 最近有學習了JavaScript,學習的過程中發現js對於前端工程師來說可以是最終要的一部分。 個人認為js就是一門語言,如果把前端比作一個人的身體,那麼html就是一個人的結構,css就是這個人長的樣子,那麼JS就是一個人的行為,不是說Html和css不重要,只是JS 相比較而言更難一點,而且可以 ...
  • 先看看勞動成果 佈局 左右各一半(col-md-6) 左側登錄框占左側一半的10/12 右側是登錄系統的註意事項 使用到的BootStrap元素 well 輸入框組(input-group) 按鈕(btn-success) well 輸入框組(input-group) 按鈕(btn-success) ...
  • AngularJS[1] 誕生於2009年,由Misko Hevery 等人創建,後為Google所收購。是一款優秀的前端JS框架,已經被用於Google的多款產品當中。AngularJS有著諸多特性,最為核心的是:MVVM、模塊化、自動化雙向數據綁定、語義化標簽、依賴註入等等。 AngularJs ...
  • jquery-slider是一款基於JSON格式數據的jQuery幻燈片插件。該幻燈片通過JSON數據來提供圖片地址和描述信息等,你可以通過更換JSON數據來動態切換不同的圖片。 線上預覽 源碼下載 使用方法 在頁面中引入jquery和slider.js文件和font-awesome字體圖標文件。 ...
  • 以下是datepicker的css文件和js代碼 ...
  • Android中使用網路訪問來載入網上的內容,並將其解析出來載入到控制項中,是一種很常見的操作。但是Android的UI線程(也就是主線程)中是不允許進行耗時操作的,因為耗時操作會阻塞主線程,影響用戶體驗。而訪問網路同樣是一個耗時操作,並且Android3.0以後是不允許在主線程中訪問網路的,所以我們 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...