freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于http協(xié)議的斷點(diǎn)續(xù)傳應(yīng)用系統(tǒng)開(kāi)發(fā)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)(完整版)

  

【正文】 發(fā)控制將使下載的效率大大提高。 為了對(duì)下載任務(wù)進(jìn)行掌控,用戶往往具有設(shè)置下載任務(wù)的線程數(shù),文件下載網(wǎng)址,文件下載存儲(chǔ)目錄和浙江工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文) 14 在下載過(guò)程中對(duì)下載任務(wù)的狀態(tài)進(jìn)行監(jiān)控等功能需求 [15]。在其中通過(guò)循環(huán)根據(jù)文件塊的起始和結(jié)束位置執(zhí)行文件塊的下載。 ? 用戶界面模塊:負(fù)責(zé)定義可視化的用戶界面。 示例代碼如下: class mythread extends thread { 用戶 調(diào)度多線程下載 全部線程運(yùn)行結(jié)束 結(jié)束 合并臨時(shí)文件 生成下載文件 浙江工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文) 18 public void run{} { /* 覆蓋方法 */} } ( 2) 聲明一個(gè)實(shí)現(xiàn) Runnable 接口的類(lèi),并實(shí)現(xiàn) run( )方法。每個(gè)線程都是通過(guò)某個(gè)特定 Thread 對(duì)象所對(duì)應(yīng)的 run( )方法來(lái)完成其操作的,因?yàn)閞un( )方法中的代碼定義執(zhí)行線程所需的功能,所以 run( )方法被稱(chēng)為線程體 [17]。 浙江工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文) 19 ? 處理流 :用來(lái)實(shí)現(xiàn)對(duì)一個(gè)已存在的流的連接和封裝,是通過(guò)所封裝的流的功能 調(diào)用實(shí)現(xiàn)數(shù)據(jù)讀 /寫(xiě)操作的流,處理流也被稱(chēng)為高級(jí)流。該形式由原始二進(jìn)制數(shù)據(jù) 值轉(zhuǎn)換成的字符組成。 read(byte[ ] array),此方法將流中字節(jié)讀到數(shù)組的連續(xù)元素中,讀出的字節(jié)數(shù)量最大為 的值。 浙江工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文) 20 boolean markSupported( ),判斷流是否支持標(biāo)記功能。 void write(byte[ ] buffer, int offset, int length)。當(dāng)開(kāi)始一個(gè)新的任務(wù)下載時(shí),該程序也將自動(dòng)創(chuàng)建一個(gè)新的保存任務(wù)下載信息的文件,該文件用戶記錄該文件的下載點(diǎn),也就是實(shí)現(xiàn)“斷點(diǎn)續(xù)傳”的保存信息,文件名以下載的文件名加上 .tmp 命名,當(dāng)該文件下載完成時(shí),程序會(huì)自動(dòng)刪除該記錄文件。 URL tmp_URL。 } else { (資源 [ + tmp_URL + ]連接成功! )。 (資源 [ + tmp + ]文件名為 + )。 = null。 = id。 (end)。 = savePosition。功能的實(shí)現(xiàn)是通過(guò)HttpURLConnection 類(lèi)來(lái)完成的。 = null。 if ( == 1) { (資源 [ + tmp + ]無(wú)法獲知的文件長(zhǎng)度! )。 if (() = 400) { (資源 [ + tmp_URL + ]服務(wù)器響應(yīng)錯(cuò)誤! )。 每個(gè)模塊的功能在上一章的系統(tǒng)功能需求分析已經(jīng)詳細(xì)介紹過(guò),這里不再重述。點(diǎn)擊確定時(shí),程序?qū)⒃谥鹘缑骘@示剛剛新建的下載任務(wù), 包括了詳細(xì)的信息。 OutputStream 類(lèi)包含 3 個(gè) write( )方法,用來(lái)向數(shù)據(jù)流寫(xiě)入二進(jìn)制代碼。 read(byte[ ] buffer,int offset,int length),此方法將 數(shù)據(jù)讀入一個(gè)字節(jié)數(shù)組,從數(shù)組的 offset 指定的位置開(kāi)始存放,并用 length 來(lái)指定讀取的最大字節(jié)數(shù)。 InputStream 類(lèi)中包含 3個(gè) read( )方法,用來(lái)數(shù)據(jù)流中讀取二進(jìn)制代碼。二進(jìn)制數(shù)值只能被寫(xiě)為字節(jié)序列, 4 個(gè)字節(jié)構(gòu)成一個(gè) int 型值, 8 個(gè)字節(jié)構(gòu)成一個(gè) long 型值等。 ? 輸入流:只能從中讀取字節(jié)數(shù)據(jù),而不能向其寫(xiě)入數(shù)據(jù)。 ( )。如果系統(tǒng)只有一個(gè) CPU,那么真正的“同時(shí)”是不可能的,但是由于 CPU 的速度非???,用戶感覺(jué)不到其中的區(qū)別,因此我們只需要設(shè)想各個(gè)線程是同時(shí)執(zhí)行即可。其功能如 圖 : 圖 用戶界面功能 系統(tǒng)流程及模塊劃分 根據(jù)上面的需求分析,可以將系統(tǒng)分為以下幾個(gè)模塊。在下載之前,首先要知道下載任務(wù)對(duì)應(yīng)的 URL 地址,換句通俗的話來(lái)說(shuō),就是要知道從哪里來(lái)下載文件;其次需要知道下載任務(wù)對(duì)應(yīng)文件的大小,文件的大小以字節(jié)數(shù)來(lái)衡量;然后需要知道下載任務(wù)要使用幾個(gè)線程,這樣才能根據(jù)文件總的大小來(lái)計(jì)算出每個(gè)線程要下載的那一小段的大??;最后還需要 知道下載完的文件存放的目錄和存放的文件名。斷點(diǎn)續(xù)傳就是用來(lái)解決這樣的問(wèn)題的,它的任務(wù)是在下載任務(wù)停止時(shí),記錄當(dāng)前下載的信息并且利用網(wǎng)絡(luò)協(xié)議中的一些重定向機(jī)制繼續(xù)完成下載任務(wù)而不必從頭再來(lái)。也可以看出人們?cè)谏暇W(wǎng)時(shí)再也不單是打開(kāi)瀏覽器來(lái)瀏覽網(wǎng) 頁(yè),越來(lái)越多的人們開(kāi)始使用下載軟件來(lái)獲取資源。 Get 從 WEB 服務(wù)器請(qǐng)求一個(gè)特定的對(duì)象,比如 HTML 頁(yè)面或者一個(gè)文件。浙江工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文) 12 HTTP 只假定(其下層協(xié)議提供)可靠的傳輸,任何能夠提供這種保證的協(xié)議都可以被其使用。客戶端是終端用戶,服務(wù)器端是網(wǎng)站。它使用標(biāo)準(zhǔn)窗口工具包( SWT)和一個(gè)更高級(jí)的 API( JFace)構(gòu)建的。事實(shí)證明, IBM的決策非常 英明。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境。 一旦這個(gè)Session被關(guān)閉,這些對(duì)象就會(huì) 脫離持久化狀態(tài),這樣就可被應(yīng)用程序的任何層自由使用。 Swing 中提供了各式各樣的邊框供用戶選用,也能建立組合邊框或自己設(shè)計(jì)邊框。用 setModel()方法把數(shù)據(jù)模型與組件聯(lián)系起來(lái)。在一個(gè) MVC 用戶界面中,存在 3 個(gè)通信對(duì)象:模型、視圖和控件。 Swing 采用了一種 MVC 的 設(shè) 計(jì) 范 式 , 即 “ 模型 視圖 控 制 器 ”( ModelViewController),其中,模型用來(lái)保存內(nèi)容,視圖用來(lái)顯示內(nèi)容,控制器用來(lái)控制用戶輸入。基于 Java ME 規(guī)范的應(yīng)用程序只需編寫(xiě)一次,就可以 用于許多設(shè)備,而且可以利用每個(gè)設(shè)備的本機(jī)功能 [8]。 浙江工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文) 6 (2) Java EE( Java Platform, Enterprise Edition)。 Java SE 以前稱(chēng)為 J2SE。 Java 語(yǔ)言和平臺(tái)的可伸縮性非常強(qiáng)。 除了 Java API 之外,每個(gè)完整的 Java 平臺(tái)實(shí)現(xiàn)還包含: ? 用來(lái)編譯、運(yùn)行、監(jiān)視、調(diào)試應(yīng)用程序以及建立應(yīng)用程序文檔的開(kāi)發(fā)工具。編譯只進(jìn)行一次,而解釋在每次運(yùn)行程序時(shí)都會(huì)進(jìn)行。第四章是概要設(shè)計(jì)和詳細(xì)設(shè)計(jì),描述了數(shù)據(jù)庫(kù)設(shè)計(jì)方案,以及各功能模塊 的技術(shù) 實(shí)現(xiàn) 方案 。由于我們可以通過(guò) private 關(guān)鍵字來(lái)保證數(shù)據(jù)對(duì)象只能被方法訪問(wèn),所以我們只需針對(duì)方法提出一套機(jī)制,這套機(jī)制就是 synchronized 關(guān)鍵字,它包括兩種用法: synchronized 方法和 synchronized 塊。多線程編程的含義是將程序任務(wù)分成幾個(gè)并行的子任務(wù)。 本 系統(tǒng)充分利用了網(wǎng)絡(luò)上的多余帶寬, 采用“ 斷點(diǎn)續(xù)傳 ” 技術(shù), 能在 上次中止部位繼續(xù)下載,有效避 免了重復(fù)勞動(dòng) , 大大節(jié)省了下載者的連線下載時(shí)間 。在“網(wǎng)絡(luò)螞蟻”軟件流行開(kāi)后,許多下載軟件也都紛紛效仿,是否具有“多線程下載”技術(shù)、甚至能支持多少個(gè)下載線程都成了人們?cè)u(píng)測(cè)下載軟件的要素。計(jì)算網(wǎng)絡(luò)的發(fā)展 圍繞在怎樣使得文件上傳下載更快,更好,更安全的核心周?chē)?[1]。 作 者 簽 名: 日 期: 指導(dǎo)教師簽名: 日 期: 使用授權(quán)說(shuō)明 本人完全了解 大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)??梢圆捎糜坝 ⒖s印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)校可以公布論文的部分或全部?jī)?nèi)容。 作者簽名: 日 期: 浙江工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文) 2 基于 HTTP 協(xié)議的斷點(diǎn)續(xù)傳應(yīng)用系統(tǒng)開(kāi)發(fā) 摘 要 文件的上傳下載 是 計(jì)算機(jī)網(wǎng)絡(luò)核心應(yīng)用 之一。當(dāng)今的網(wǎng)絡(luò)時(shí)代,下載軟件是使用最頻繁的軟件之一?!岸嗑€程下載”的基 礎(chǔ)是 WEB 服務(wù)器支持遠(yuǎn)程的隨機(jī)讀取,也即支持“斷點(diǎn)續(xù)傳”。 可行性分析 可行性研究的目的,就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否能夠解決。特別是在網(wǎng)絡(luò)編程中,有很多功能是可以并發(fā)執(zhí)行的。本系統(tǒng)使用 Eclipse 的 SWING 圖形界面技術(shù)進(jìn)行開(kāi)發(fā)。 第五章是系統(tǒng)實(shí)現(xiàn),這一章主要講了開(kāi)發(fā)環(huán)境及配置,并通過(guò)兩個(gè)典型例子 介紹了該系統(tǒng)的 技術(shù)實(shí)現(xiàn)架構(gòu) , 闡述技術(shù)關(guān)鍵及解決方法和經(jīng)驗(yàn)總結(jié)。編譯后的字節(jié)碼采用一種針對(duì) JVM 優(yōu)化過(guò)的機(jī)器碼形式;解釋器是 JVM 的實(shí)現(xiàn)。 ? 用來(lái)部署應(yīng)用程序的標(biāo)準(zhǔn)機(jī)制。在低端,現(xiàn)有的應(yīng)用程序可以很容易地適應(yīng)內(nèi)存資源有限的設(shè)備。它允許開(kāi)發(fā)和部署在桌面、服務(wù)器、嵌入式環(huán)境和實(shí)時(shí)環(huán)境中使用的 Java 應(yīng)用程序。這個(gè)版本以前稱(chēng)為 J2EE。 本系統(tǒng)是基于 Java SE 開(kāi)發(fā)。 Swing 采用可插入的外觀感覺(jué)( Pluggable Look and Feel, PLamp。模型是指定的邏輯表示法,視圖是模型的可視化表示法,而控件則指定了如何處理用戶輸入。 MVC 是現(xiàn)有的編程語(yǔ)言中制作圖形用戶界面的一種通用思想,其思路是把數(shù)據(jù)的 內(nèi)容本身和顯示方式分離開(kāi),這樣就使得數(shù)據(jù)的顯示更加靈活多樣。一種空白邊框可以增大組件,同時(shí)協(xié)助布局管理器對(duì)容器中的組件進(jìn)行合理的布局。 瞬態(tài)( transient)和脫管( detached) 的對(duì)象及其集合:那些目前沒(méi)有與 session關(guān)聯(lián)的持久化類(lèi)實(shí)例。幸運(yùn)的是, Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 Java 開(kāi)發(fā)工具( Java Development Tools, JDT) [10]。Eclipse受到廣泛關(guān)注,蜂擁而至的用戶使得其下載服務(wù)器一度阻塞,給業(yè)界帶來(lái)了久違的震撼! IBM趁熱打鐵,在 EclipseCon 20xx上宣布成立一個(gè)獨(dú)立的、非盈利性的基金會(huì),由該基金會(huì)負(fù)責(zé)管理和指導(dǎo) Eclipse開(kāi)發(fā),目前其成員多達(dá)近百家知名公司,其中包括 Borland、 Rational Software、 Red Hat、 Sybase、 Google和 Oracle等業(yè)界巨頭。 SWT 是 Java 的 Swing/AWT 的非標(biāo)準(zhǔn)替代者, JFace 則以 SWT 為基礎(chǔ),但更易于使用。通過(guò)使用 Web 瀏覽器 、 網(wǎng)絡(luò)爬蟲(chóng) 或者其它的工具,客戶端發(fā)起一個(gè)到服務(wù)器上指定端口(默認(rèn) 端口 為 80)的 HTTP 請(qǐng)求。通常,由 HTTP 客戶端發(fā)起一個(gè)請(qǐng)求,建立一個(gè)到服務(wù)器指定端口(默認(rèn)是 80 端口 )的 TCP 連接。 WEB 服務(wù)器通過(guò)一個(gè) Socket 連接發(fā)送此對(duì)象作為響應(yīng), Head 命令使服務(wù)器給出此對(duì)象的基本描述,比如對(duì)象的類(lèi)型,大小和更新時(shí)間。同時(shí)人們也更希望使用更新更快的下載軟件。 隨著使用下載工具的時(shí)間的增長(zhǎng),用戶下載的資源越來(lái)越多,因此在下載列表中的項(xiàng)目也越來(lái)越多,越來(lái)越混亂,因此為了便于管理和用戶使用方便,用戶迫切希望下載工具具有下載文件分類(lèi)的功能。此外為了支持?jǐn)帱c(diǎn)續(xù)傳功能,在下載任務(wù)實(shí)體類(lèi)中還需要定義上次文件下載長(zhǎng)度和當(dāng)前文件已下載長(zhǎng)度。 ? 下載任務(wù)定義模塊:負(fù)責(zé)定義要下載的任務(wù)所需要的各種詳細(xì)的信息。 在 Java 中提供了類(lèi) 來(lái)進(jìn)行 多線程編程。 在調(diào)用 start( )方法時(shí),將創(chuàng)建一個(gè)新的控制線程,新線程進(jìn)入可運(yùn)行狀態(tài),它將向線程調(diào)度器注冊(cè)這個(gè)線程。 ? 輸出流:只能 向其寫(xiě)入字節(jié)數(shù)據(jù),而不能從中讀取數(shù)據(jù)。Java 其內(nèi)部將字節(jié)符存儲(chǔ)為 16 位的 Unicode 碼字符,因此每個(gè) Unicode 碼字符可以寫(xiě)成 2 個(gè)字節(jié)的二進(jìn)制流,先寫(xiě)高 8 位。 ? 輸入流的基本方法如下: read( ),這個(gè)方法在 InputStream 類(lèi)中是抽象的,因此它必須定義在子類(lèi)中。 ? 輸入流的其他方法如下: void close( ),關(guān)閉流。這些操作與 InputStream 類(lèi)的 read( )方法相對(duì)應(yīng) [20]。 圖 系統(tǒng)基本 流程圖 新建完任務(wù)后,用戶還可以繼續(xù)添加下載的任務(wù)。 系統(tǒng) 下載功能的 實(shí)現(xiàn) 按照功能劃分,下載過(guò)程可以分為 兩 部分, 即建立連接 并 讀取待下載文件的信息、下載文件 。 浙江工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文) 23 = null。 } else { (資源 [ + tmp + ]文件大小為 ( / 1024 * 100) / + k。 = 2。 HttpURLConnection 實(shí)例都可用于生成單個(gè)請(qǐng)求 ,再通過(guò)實(shí)例調(diào)用 getFileName 方法和 getContentLength 方法來(lái)獲取文件名大長(zhǎng)度。 oos2 = ()。 (id)。 下載文件 public DownLoadThread(int id, String urlAddress, String savePosition, long start, long end, int subThreadCount) { (id+id+,start: + start + ,end:
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1