補充:
使用WIN API的CreateThread可以實現多線程。但那是用API。VB本身不支持多線程。
首先,斷點續傳需要提供下載服務器支持。如果不能重新連接這個資源,說明服務器不支持斷點續傳。妳的下載工具再支持也沒用。
斷點續傳的原理:
1.首先,妳需要計算下載的數據。比如妳要下載的文件大小是1024KB。如果用四個線程下載,每個線程需要下載256K數據。
2.開始下載。第壹個線程從文件流的0位置開始下載,下載大小為256K。第二個線程從文件的256K位置開始下載(使用SEEK,忽略第壹個256K的數據),下載到文件的512K位置。第三個線程從512K位置開始下載,下載到768K位置。
3.文件位置記錄。另外,妳需要壹個文件下載輔助文件,記錄妳用了多少個線程,每個線程的起始位置和結束位置,以及當前的下載位置。迅雷也有這樣壹個文件,好像新版本是隱藏的。該文件可以如下所示
& ltthread 1 & gt;0,255,125 & lt;/thread 1 & gt;
& ltThread2 & gt256,512,130 & lt;/thread 2 & gt;
& ltThread3 & gt512,768,& lt/thread 3 & gt;
& ltThread4 & gt768,1024,& lt/thread 4 & gt;
4.從上面的文件可以看出,妳的3號和4號線程已經完成了256K大小的下載任務,所以妳繼續傳輸的時候只需要完成1號線程和2號線程的任務,而1號線程已經下載了125,所以下載的時候可以從126下載到255,也可以使用SEEA。
完全用手...沒有抄襲。....