當前位置:首頁 » 文件管理 » ftp斷點續傳原理

ftp斷點續傳原理

發布時間: 2022-10-15 08:27:51

1. FTP客戶端怎麼樣實現斷點續傳的功能

上傳的時候,如果文件已經存在,服務端會返迴文件已經存在大小,根據這個大小,從本地文件讀取這個大小之後的數據,進行斷點續傳

2. 什麼是FTP斷點續傳

FTP客戶端軟體斷點續傳指的是在下載或上傳時,將下載或上傳任務(一個文件或一個壓縮包)人為的劃分為幾個部分,每一個部分採用一個線程進行上傳或下載,如果碰到網路故障,可以從已經上傳或下載的部分開始繼續上傳下載以後未上傳下載的部分,而沒有必要重頭開始上傳下載。用途可以節省時間,提高速度。
有時用戶上傳下載文件需要歷時數小時,萬一線路中斷,不具備斷點續傳的FTP伺服器或下載軟體就只能從頭重傳;比較好的FTP伺服器或下載軟體具有FTP斷點續傳能力,允許用戶從上傳下載斷線的地方繼續傳動,這樣大大減少了用戶的煩惱。
常見的支持斷點續傳的上傳、下載軟體:超級旋風、迅雷、web迅雷、影音傳送帶、快車、BitComet、電驢eMule、哇嘎Vagaa等。

3. FTP訪問過程中,對文件沒有刪除許可權,對文件有讀取,上傳,續傳和重命

二、上傳:1、獲取伺服器上和本地要上傳文件的同名文件大小;2、向伺服器發送「APPE+文件名」,通知伺服器,接下來從數據通道發送給你的數據要附加到這個文件末尾。3、定位本地文件指針(和FTP上文件大小相同的位置)4、從文件指針處讀數據並發送。好了,FTP斷點續傳的原理就這么簡單。代碼里將斷點上傳和斷點下載放到同一個函數(MoveFile)里,通過get參數說明是上傳還是下載。當然,整個FTP類的實現有800多行,包括登錄、退出、獲取FTP文件大小、刪除FTP伺服器上文件、響應伺服器,解析響應信息等函數。相應的注釋代碼里都有,這里就不一一熬述了。這里重點說說PASV模式,即被動模式,這是FTP命令里比較不容易理解的一個,這條命令請求伺服器在某個埠(非FTP默認埠或控制命令埠)創建一個監聽socket,伺服器創建的埠號會在客戶端的控制命令通道上得到響應。得到這個埠號後,客戶端就可以創建新的socket(數據通道)connect過去,並進行文件傳輸等工作。否則,如果為非被動模式,那麼監聽的socket由客戶端創建,伺服器connect過來。對於這條命令的存在我是這么理解的,存在這么一種情況:客戶端的IP是個內網的IP,伺服器的IP是個外網的,當進行數據傳輸時內網的IP對於伺服器是不可見的,只有由伺服器啟動監聽socket才能建立數據通道,所以必須以被動模式進行。:)

4. 如何實現斷點續傳

其實斷點續傳的原理很簡單,就是在Http的請求上和一般的下載有所不同而已。 打個比方,瀏覽器請求伺服器上的一個文時,所發出的請求如下: 假設伺服器域名為w www.sjtu.e.cn,文件名為down.zip。 GET /down.zip HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms- excel, application/msword, application/vnd.ms-powerpoint, */* Accept-Language: zh-cn Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) Connection: Keep-Alive 伺服器收到請求後,按要求尋找請求的文件,提取文件的信息,然後返回給瀏覽器,返回信息如下: 200 Content-Length=106786028 Accept-Ranges=bytes Date=Mon, 30 Apr 2001 12:56:11 GMT ETag=W/"02ca57e173c11:95b" Content-Type=application/octet-stream Server=Microsoft-IIS/5.0 Last-Modified=Mon, 30 Apr 2001 12:56:11 GMT 所謂斷點續傳,也就是要從文件已經下載的地方開始繼續下載。所以在客戶端瀏覽器傳給 Web伺服器的時候要多加一條信息--從哪裡開始。 下面是用自己編的一個"瀏覽器"來傳遞請求信息給Web伺服器,要求從2000070位元組開始。 GET /down.zip HTTP/1.0 User-Agent: NetFox RANGE: bytes=2000070- Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 仔細看一下就會發現多了一行RANGE: bytes=2000070- 這一行的意思就是告訴伺服器down.zip這個文件從2000070位元組開始傳,前面的位元組不用傳了。 伺服器收到這個請求以後,返回的信息如下: 206 Content-Length=106786028 Content-Range=bytes 2000070-106786027/106786028 Date=Mon, 30 Apr 2001 12:55:20 GMT ETag=W/"02ca57e173c11:95b" Content-Type=application/octet-stream Server=Microsoft-IIS/5.0 Last-Modified=Mon, 30 Apr 2001 12:55:20 GMT 和前面伺服器返回的信息比較一下,就會發現增加了一行: Content-Range=bytes 2000070-106786027/106786028 返回的代碼也改為206了,而不再是200了。 知道了以上原理,就可以進行斷點續傳的編程了。

5. 什麼是FTP斷點續傳

有時用戶通過FTP下傳文件需要歷時數小時,萬一線路中斷,不具備FTP斷點續傳的FTP伺服器就只能從頭重傳;中國萬網「虛擬主機」上的FTP伺服器具有FTP斷點續傳能力,允許用戶從上傳斷線的地方繼續傳動,這樣大大減少了用戶的煩惱。

6. FTP該如何實現斷點續傳

客戶端的實現步驟如下:
一、下載:
1、向伺服器發送「REST + 本地文件長度」命令,告訴伺服器,客戶端要斷點下載了。這時伺服器還不知道客戶端要下載哪個文件;
要實現FTP的斷點續傳,FTP伺服器必須支持REST指令,這條指令在FTP協議文本RFC959中就已經定義了,不過它不是FTP伺服器必須支持的指令。一般,你可以在下載前使用REST 100命令進行實驗,如果伺服器正常執行了這條命令,說明該伺服器支持FTP斷點續傳。REST後面跟的數表示下載文件的起始位置,而REST 0表示從文件最開始處下載。REST命令本身並不執行下載功能,你仍需要使用RETR命令執行下載工作。
2、向伺服器發送「RETR + 文件名」命令,通知伺服器要下載的文件名,這時伺服器開始定位文件指針讀文件並發送數據。
3、客戶端定位本地文件指針(文件末尾);
4、兩端的准備工作都做完了以後,客戶端創建socket,以被動或非被動方式建立數據通道,循環調用recv接收數據並追加入本地文件;
二、上傳:
1、獲取伺服器上和本地要上傳文件的同名文件大小;
2、向伺服器發送「APPE + 文件名」,通知伺服器,接下來從數據通道發送給你的數據要附加到這個文件末尾。
3、定位本地文件指針(和FTP上文件大小相同的位置)
4、從文件指針處讀數據並發送。
代碼里將斷點上傳和斷點下載放到同一個函數(MoveFile)里,通過get參數說明是上傳還是下載。

7. 什麼是FTP斷點續傳

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

有時用戶上傳下載文件需要歷時數小時,萬一線路中斷,不具備斷點續傳的FTP伺服器或下載軟體就只能從頭重傳;比較好的FTP伺服器或下載軟體具有FTP斷點續傳能力,允許用戶從上傳下載斷線的地方繼續傳動,這樣大大減少了用戶的煩惱。

常見的支持斷點續傳的上傳、下載軟體:超級旋風、迅雷、web迅雷、影音傳送帶、快車、BitComet、電驢eMule、哇嘎Vagaa等。

8. FTP體系中,什麼是斷點續傳,有何用途

斷點續傳就是當你正在下載東西時,由於突發的一些事情,或自己有事導致電腦關機。當你下次再去下載同一個東西時,它會自動的從上一次下載的地方接著下,而不是重頭開始下載。現在迅雷和網際快車都支持斷點續傳

9. 什麼是FTP斷點續傳

有時用戶通過FTP下傳文件需要歷時數小時,萬一線路中斷,不具備FTP斷點續傳的FTP伺服器就只能從頭重傳;中國萬網「虛擬主機」上的FTP伺服器具有FTP斷點續傳能力,允許用戶從上傳斷線的地方繼續傳動,這樣大大減少了用戶的煩惱。

熱點內容
在團競模式中怎麼重置配置 發布:2024-10-08 02:12:54 瀏覽:289
寶馬遠程伺服器如何啟用 發布:2024-10-08 02:02:57 瀏覽:391
c語言freadfwrite 發布:2024-10-08 02:01:15 瀏覽:854
腳本還不簡單嗎 發布:2024-10-08 01:54:43 瀏覽:423
安卓手機如何像平板一樣橫屏 發布:2024-10-08 01:33:26 瀏覽:510
wapi認證伺服器ip 發布:2024-10-08 01:33:24 瀏覽:507
centos自帶python 發布:2024-10-08 00:53:31 瀏覽:340
android串口調試助手 發布:2024-10-08 00:45:03 瀏覽:405
sqlserver2008亂碼 發布:2024-10-08 00:39:59 瀏覽:220
華為電腦伺服器系統進不去提示 發布:2024-10-08 00:13:42 瀏覽:493