文件上傳客戶端:
斷點(diǎn)續(xù)傳.png
下面是多線程下載
斷點(diǎn)下載.png
斷點(diǎn)續(xù)傳和斷點(diǎn)下載都是用的RandomAccessFile, 它具有移動(dòng)指定的文件大小的位置的功能seek 。
斷點(diǎn)續(xù)傳是由服務(wù)器給客戶端一個(gè)已經(jīng)上傳的位置標(biāo)記position,然后客戶端再將文件指針移動(dòng)到相應(yīng)的position,通過輸入流將文件剩余部分讀出來傳輸給服務(wù)器
斷點(diǎn)下載 是由客戶端告訴服務(wù)器已經(jīng)下載的大小,然后服務(wù)器會(huì)將指針移動(dòng)到相應(yīng)的position,繼續(xù)讀出,把文件返回給客戶端。 當(dāng)然為了下載的更快一下,也可以多線程下載,那么基本實(shí)現(xiàn)就是給每個(gè)線程分配固定的字節(jié)的文件,分別去讀
服務(wù)端:
image.png