基于HTTP協(xié)議的多線程下載器-答辯PPT_第1頁(yè)
基于HTTP協(xié)議的多線程下載器-答辯PPT_第2頁(yè)
基于HTTP協(xié)議的多線程下載器-答辯PPT_第3頁(yè)
基于HTTP協(xié)議的多線程下載器-答辯PPT_第4頁(yè)
基于HTTP協(xié)議的多線程下載器-答辯PPT_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于HTTP協(xié)議的多線程下載器目錄開(kāi)發(fā)背景介紹系統(tǒng)的開(kāi)發(fā)背景系統(tǒng)分析系統(tǒng)需求分析以及功能模塊的介紹系統(tǒng)實(shí)現(xiàn)設(shè)計(jì)與實(shí)現(xiàn)結(jié)束語(yǔ)

開(kāi)發(fā)背景目前國(guó)內(nèi)下載器有很多種,有基于HTTP下載的,也有基于P2P下載的。HTTP是HyperTextTransportationProtocol(超文本傳輸協(xié)議)的縮寫(xiě),它是計(jì)算機(jī)之間交換數(shù)據(jù)的方式。HTTP下載模式是最經(jīng)典的下載方式,絕大部分的下載軟件是從基于HTTP下載模式發(fā)展來(lái)的。一個(gè)線程(thread)是“進(jìn)程”中某個(gè)單一順序的控制流。當(dāng)一個(gè)任務(wù)包含多個(gè)操作時(shí),我們就可以用到多線程。多線程的產(chǎn)生明顯的提高了CPU的利用率。開(kāi)發(fā)背景前面說(shuō)過(guò),HTTP是超文本傳輸協(xié)議,我們平常上網(wǎng)的瀏覽器(比如IE)的“本職工作”就是解讀按照這種協(xié)議制作的網(wǎng)頁(yè)和進(jìn)行資源下載。使用IE直接進(jìn)行下載非常方便,但是它有兩個(gè)非常明顯的不足:

IE直接下載沒(méi)有實(shí)現(xiàn)“斷點(diǎn)續(xù)傳”

IE直接下載沒(méi)有實(shí)現(xiàn)多線程系統(tǒng)分析根據(jù)對(duì)下載的功能特性進(jìn)行分析,可以將下載器的需求簡(jiǎn)單的整理為如下幾點(diǎn):可視化界面;支持多線程下載(提高下載速度);支持?jǐn)帱c(diǎn)續(xù)傳;系統(tǒng)分析根據(jù)系統(tǒng)需求分析,系統(tǒng)需實(shí)現(xiàn)新建下載、暫停下載、開(kāi)始下載、刪除下載四個(gè)基本功能。當(dāng)系統(tǒng)在存在未完成任務(wù)退出時(shí)需保存下載任務(wù)的斷點(diǎn)信息;同時(shí)啟動(dòng)程序時(shí)應(yīng)導(dǎo)入未完成任務(wù)的下載信息。此外,系統(tǒng)還需要設(shè)計(jì)一個(gè)懸浮窗來(lái)實(shí)現(xiàn)快速退出,隱藏/顯示主界面等功能。系統(tǒng)用例圖系統(tǒng)流程圖系統(tǒng)實(shí)現(xiàn)所需開(kāi)發(fā)環(huán)境

1.操作系統(tǒng):Windows或

Linux系統(tǒng)2.開(kāi)發(fā)環(huán)境:Eclipse3.開(kāi)發(fā)工具包:JDK主界面主界面模塊是界面和按鈕監(jiān)聽(tīng)事件的集合,用戶每按一個(gè)按鈕系統(tǒng)就會(huì)執(zhí)行不同的事件。下圖是MainFrame模塊的主機(jī)面:下載表格模型模塊下載表格模型(DownTableModel)即一個(gè)顯示下載條目表格模型,用戶增加的下載條目都會(huì)顯示在表格中。下載表格模型界面如下圖:新建下載模塊根據(jù)需求分析,當(dāng)用戶點(diǎn)擊新建下載按鈕,則系統(tǒng)彈出一個(gè)新建下載對(duì)話框,里面包含一個(gè)輸入url的文本框,一個(gè)保存地址的文本框,一個(gè)保存文件名的文本框。同時(shí)還有三個(gè)按鈕(瀏覽、確實(shí)、取消)和一個(gè)選擇線程數(shù)目下拉框。新建下載對(duì)話框下載模塊下載(Download)模塊主要包含如下幾個(gè)步驟:獲得下載連接和判斷響應(yīng)碼創(chuàng)建下載線程和分配每個(gè)線程下載塊的大小實(shí)時(shí)設(shè)定表格中下載任務(wù)的狀態(tài)下載模塊流程圖線程下載模塊線程下載(DownloadThread)模塊主要用于實(shí)現(xiàn)某個(gè)線程具體下載的操作,如設(shè)定每個(gè)線程不同時(shí)刻的下載開(kāi)始點(diǎn)和結(jié)束點(diǎn),同時(shí)對(duì)目標(biāo)文件進(jìn)行I/O流操作,及時(shí)將下載信息寫(xiě)入目標(biāo)文件。此模塊的關(guān)鍵點(diǎn)在于設(shè)定每個(gè)線程的HTTP請(qǐng)求頭,關(guān)鍵代碼如下:httpConn.setRequestProperty("RANGE",bytes);//bytes為一個(gè)字符串:"bytes="+(this.start+pleted)+"-"this.end;存取斷點(diǎn)信息模塊存取斷點(diǎn)信息(LoadProperty)模塊簡(jiǎn)單來(lái)說(shuō)可以劃分為兩個(gè)子模塊:保存信息模塊和加載信息模塊。模塊結(jié)構(gòu)圖如下:懸浮窗模塊懸浮窗在系統(tǒng)啟動(dòng)時(shí)同主界面一同打開(kāi),一般位于右上角(用戶可自由拖動(dòng)其位置),用于快速退出系統(tǒng)和顯示/隱藏主界面等。界面效果如下圖所示:結(jié)術(shù)語(yǔ)通過(guò)此次畢業(yè)設(shè)計(jì),我對(duì)JavaSE平臺(tái)下的開(kāi)發(fā)和應(yīng)用有了一個(gè)整體的了解,尤其是使用Swing進(jìn)行界面開(kāi)發(fā):其核心就

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論