程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 實現斷點續傳的兩種思路

實現斷點續傳的兩種思路

編輯:.NET實例教程
在7月份分別做了多線程下載和斷點續傳 ,但當時只是測試,用了大文件分塊傳輸的方法

實現流程

首次傳輸其流程如下

1.服務端向客戶端傳遞文件名稱和文件長度
2.跟據文件長度計算文件塊數
3.客戶端將傳輸的塊數寫入臨時文件(做為斷點值)
4.若文件傳輸成功則刪除臨時文件

首次傳輸失敗後將按以下流程進行

1.客戶端從臨時文件讀取斷點值並發送給服務端
2.服務端與客戶端將文件指針移至斷點處
3.從斷點處傳輸文件

這是當時的思路,但是因為當時用了CFile類實現,而不是SDK,所以我不得不重寫,重寫時斷點續傳又重新成了問題

1.下載的是文件列表
2.因為效率不再采用分塊傳輸
3.如何記錄文件列表與斷點值

鑒於我以前做的斷點續傳,思路被禁固了一樣 轉不開彎  直到後來KING老大提示才饒過這個彎 其思路如下

1.客戶端用CreateFile以OPEN_EXISTING方式打開要下載的文件列表
2.若成功說明有斷點文件,則用GetFileSize得到大小做為斷點
3若失敗說明文件不存在,則創建一個文件

思路是相當簡單的,而且一個好處是不用記錄斷點值  干淨利落 呵呵 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved