2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩30頁(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)介

1、<p>  FTP文件傳輸課程設(shè)計(jì)</p><p><b>  摘 要</b></p><p>  進(jìn)入信息時(shí)代,隨著互聯(lián)網(wǎng)普及,只要接上網(wǎng)絡(luò),就能從網(wǎng)上找到龐大的數(shù)據(jù)資源,其內(nèi)容包羅萬(wàn)象,可以說(shuō)幾乎任何人都可以在Internet資源中找到自己所需要的信息資源。有了網(wǎng)絡(luò),使用者不但可以瀏覽各種各樣的信息資源,還能夠?qū)⒆约焊信d趣的資源下載到本地機(jī)上。計(jì)算機(jī)之間

2、數(shù)據(jù)的傳輸大多是通過(guò)文件傳輸協(xié)議FTP來(lái)完成的。FTP使用兩個(gè)TCP連接來(lái)實(shí)現(xiàn)文件傳送操作。FTP可以管理四類(lèi)不同的文件類(lèi)型,且可用多種模式傳輸文件。</p><p>  本系統(tǒng)是用JBuilder 9.0作為開(kāi)發(fā)工具完成的,系統(tǒng)有著良好的界面,簡(jiǎn)單易用,系統(tǒng)開(kāi)發(fā)的總體任務(wù)是連接FTP服務(wù)器,上傳/下載文件;并使用Serv-U軟件構(gòu)建FTP服務(wù)器,使客戶端用戶能夠通過(guò)互聯(lián)網(wǎng)訪問(wèn)FTP服務(wù)器,進(jìn)行信息資源的共享和傳

3、輸。</p><p>  論文首先介紹FTP文件傳輸協(xié)議的原理和工作的機(jī)制。然后簡(jiǎn)要介紹開(kāi)發(fā)FTP客戶端應(yīng)用程序的一些詳細(xì)的步驟(如何建立文件傳輸?shù)臄?shù)據(jù)連接過(guò)程)并提供了一個(gè)完整的JAVA實(shí)現(xiàn)的文件傳輸程序模塊,以此來(lái)演示使用JAVA開(kāi)發(fā)FTP客戶端應(yīng)用程序的一些具體細(xì)節(jié)。本次論文的設(shè)計(jì),即從需求分析,軟件設(shè)計(jì)到軟件功能實(shí)現(xiàn),都始終遵循軟件工程的思想和數(shù)據(jù)庫(kù)的設(shè)計(jì)方法。在本文中采用了大量的圖表說(shuō)明,使文章明確清晰

4、,便與閱讀和理解。 </p><p>  關(guān)鍵詞: FTP文件傳輸系統(tǒng) ,JBuilder 9.0, 網(wǎng)絡(luò)技術(shù),軟件工程</p><p><b>  ABSTARCT</b></p><p>  During entering to the information times, along with the In

5、ternet universal, so long as connect with the net, you can find out the huge data resources from the Internet. It is almost said that everyone can find out the information resources which you need in the Internet. Had th

6、e network, the user can not only browse various of information resources, but also download resources which you are interested in. Most of the data transfer between computers are realized through file transfer protocol-F

7、T</p><p>  This software system completes with the JBuilder 9.0 tools. And the system has good interface, using in brief and easily. The total mission of the system is to link the server of FTP, spreading up

8、/ download documents.And a FTP server can be built by the software of Serv-U.The user of client side then can visit the FTP server to upload or download the files.</p><p>  Firstly this design introduces the

9、 mechanics and principle of File Transportation Protocol (FTP). Then detailed steps (how to make a data link for file transport) of developing the FTP Client are presented. A programming module of file transport, written

10、 in java is available to demonstrate the specifics of developing a FTP Client Application in JAVA.The design of this software, namely analytical from the need, the software designs the function to carry out, all followin

11、g the thought of the softw</p><p>  Key Words: FTP File transportation system, JBuilder 9.0, network technique, software engineering.</p><p><b>  目錄</b></p><p><b>

12、;  摘 要I</b></p><p>  ABSTARCTII</p><p><b>  目錄III</b></p><p><b>  第一章 緒論1</b></p><p><b>  1.1課題簡(jiǎn)介1</b></p><p&g

13、t;  1.2 FTP的工作原理1</p><p>  1.2.1 FTP連接1</p><p>  1.2.2 FTP數(shù)據(jù)處理2</p><p>  1.2.3 FTP命令以及響應(yīng)2</p><p>  1.2.4 FTP登陸2</p><p>  1.3 相關(guān)技術(shù)和開(kāi)發(fā)工具2</p>

14、<p>  1.3.1 JAVA簡(jiǎn)介3</p><p>  1.3.2 Jbuilder 9.0編程環(huán)境3</p><p>  1.3.3C/S的網(wǎng)絡(luò)通信模式4</p><p>  1.3.4 FTP服務(wù)器端軟件Serv-U4</p><p>  第二章 系統(tǒng)需求分析6</p><p>

15、  2.1 任務(wù)概述6</p><p>  2.2 設(shè)計(jì)思想6</p><p>  2.3 系統(tǒng)工作流程與結(jié)構(gòu)6</p><p>  2.4 用例描述7</p><p>  2.5 分析與設(shè)計(jì)10</p><p>  2.6 相關(guān)類(lèi)的設(shè)計(jì)13</p><p>  第三章

16、系統(tǒng)界面設(shè)計(jì)及模塊實(shí)現(xiàn)16</p><p>  3.1 功能說(shuō)明16</p><p>  3.2 程序設(shè)計(jì)流程圖16</p><p>  3.3 各界面的設(shè)計(jì)16</p><p>  3. 3. 1 主界面設(shè)計(jì)16</p><p>  3. 3. 2 連接FTP服務(wù)器界面設(shè)計(jì)17</p>

17、;<p>  3. 3. 3 文件處理界面設(shè)計(jì)18</p><p>  3.4 模塊功能介紹及核心代碼20</p><p>  3. 4. 1 登錄模塊20</p><p>  3. 4. 2 瀏覽模塊20</p><p>  3. 4. 3 文件上傳模塊21</p><p>  3.

18、 4. 4 文件下載模塊21</p><p>  3. 4. 5 斷開(kāi)與服務(wù)器的連接22</p><p>  第四章 軟件測(cè)試23</p><p>  4.1 確定測(cè)試策略23</p><p>  4.2 劃分輸入等價(jià)類(lèi)23</p><p>  4.3 建立測(cè)試用例23</p>&l

19、t;p><b>  結(jié) 論25</b></p><p><b>  參考文獻(xiàn)26</b></p><p><b>  致 謝27</b></p><p><b>  第一章 緒論</b></p><p><b>  1.1課題簡(jiǎn)介

20、</b></p><p>  隨著Internet技術(shù)的興起與發(fā)展和網(wǎng)絡(luò)技術(shù)的蓬勃發(fā)展,人們希望通過(guò)互聯(lián)網(wǎng)來(lái)共享網(wǎng)絡(luò)上的資源,便于為自己結(jié)省成本,這就迫切需要實(shí)現(xiàn)網(wǎng)絡(luò)與數(shù)據(jù)庫(kù)的互連。網(wǎng)絡(luò)技術(shù)發(fā)展到今天,人們已經(jīng)可以把數(shù)據(jù)庫(kù)技術(shù)引入到Web 系統(tǒng)中。隨著軟件工程學(xué)的迅速發(fā)展,軟件測(cè)試的理論也不斷完善,軟件測(cè)試的實(shí)施在整個(gè)軟件生命周期中的地位也越來(lái)越重要,其工作量占軟件開(kāi)發(fā)總工作量的40%以上。軟件測(cè)試已

21、成為軟件生產(chǎn)中必不可少的質(zhì)量保證手段。</p><p>  FTP是Internet上使用最廣泛的應(yīng)用之一。FTP服務(wù)是以它所使用的文件傳輸協(xié)議(File Transfer Protocol)命名的。 目前Internet上幾乎所有的計(jì)算機(jī)系統(tǒng)上,都帶有FTP工具,用戶通過(guò)它可以將文檔從一臺(tái)計(jì)算機(jī)上傳到另外一臺(tái)計(jì)算機(jī)上。</p><p>  普通的FTP服務(wù)要求用戶必須在要訪問(wèn)的計(jì)算機(jī)上有

22、用戶名和口令。而Internet上最受歡迎的是稱(chēng)為匿名(anonymous)FTP的服務(wù),用戶在登錄這些服務(wù)器時(shí)不用事先注冊(cè)一個(gè)用戶名和口令,而是以"anonymous"或"ftp"為用戶名,自己的電子郵件地址為口令即可。</p><p>  匿名FTP是目前Internet上進(jìn)行資源共享的主要途徑之一。它的特點(diǎn)是訪問(wèn)方便,800616操作簡(jiǎn)單,容易管理。Internet上

23、有許多的資源都是以FTP的形勢(shì)提供給大家使用的,包括各種文檔、軟件工具包等等。</p><p>  所以我選了些課題,想通過(guò)現(xiàn)在最熱門(mén)的Java語(yǔ)言來(lái)實(shí)現(xiàn)FTP功能。</p><p>  1.2 FTP的工作原理</p><p>  FTP(File Transfer Protocol,文件傳輸系統(tǒng))是Internet上使用非常廣泛的一種通信協(xié)議(屬于TCP/IP)

24、,它是由支持Internet文件傳輸?shù)母鞣N規(guī)則組成,這些規(guī)則使Internet用戶可以把文件從一個(gè)主機(jī)拷貝到另一個(gè)主機(jī)上。FTP支持多種文件類(lèi)型和文件格式,包括ASCII文件和二進(jìn)制文件。</p><p>  下面將從FTP連接,F(xiàn)TP數(shù)據(jù)處理,F(xiàn)TP命令及響應(yīng)三個(gè)方面來(lái)介紹FTP工作原理</p><p>  1.2.1 FTP連接</p><p>  FTP使用兩

25、條TCP連接來(lái)完成文件傳輸:控制連接和數(shù)據(jù)連接。控制連接用于傳輸控制,數(shù)據(jù)連接用于數(shù)據(jù)傳輸。在服務(wù)器啟動(dòng)后,服務(wù)器就會(huì)在端口21等待客戶的連接請(qǐng)求,有用戶需要傳輸文件時(shí)候,客戶與服務(wù)器的端口21建立一個(gè)控制連接,用來(lái)傳送客戶的命令和服務(wù)器的應(yīng)答,該連接一直保持到客戶與服務(wù)器通信結(jié)束為止。當(dāng)客戶發(fā)出數(shù)據(jù)傳輸 命令時(shí)候,服務(wù)器會(huì)主動(dòng)與客戶建立數(shù)據(jù)連接,并與進(jìn)行數(shù)據(jù)交換??蛻舳擞脩舨⒉皇侵苯犹幚砜刂七B接上的FTP命令和FTP響應(yīng),而是由兩個(gè)協(xié)

26、議解釋器進(jìn)行處理。用戶接口為客戶端用戶提供一定形式的輸入界面,接收用戶的命令,將其轉(zhuǎn)換成標(biāo)準(zhǔn)的FTP命令,最終將控制連接上的FTP響應(yīng)轉(zhuǎn)換成用戶可以理解的方式。</p><p>  1.2.2 FTP數(shù)據(jù)處理</p><p>  FTP協(xié)議規(guī)范中提供了多種用于文件控制的傳輸和存儲(chǔ)方式,主要包括:</p><p><b>  1)文件類(lèi)型處理:</b&

27、gt;</p><p>  ASCII文件類(lèi)型,EBCDIC文件類(lèi)型,圖象文件類(lèi)型,本地文件類(lèi)型 </p><p><b>  2)格式控制:</b></p><p>  格式控制只能應(yīng)用于ASCII文件和EBCDIC文件類(lèi)型,有非打印格式控制,TELNET格式控制以及FORTRAN格式控制三種,其中默認(rèn)為非打印格式控制,該格式控制下,文件不包

28、括任何格式信息。</p><p><b>  3)結(jié)構(gòu):</b></p><p>  結(jié)構(gòu)分文件結(jié)構(gòu),記錄結(jié)構(gòu)和頁(yè)結(jié)構(gòu)三種。默認(rèn)為文件結(jié)構(gòu),即將文件看成是一個(gè)連續(xù)的字節(jié)流,沒(méi)有內(nèi)部結(jié)構(gòu)。記錄結(jié)構(gòu)可勇于文本文件。頁(yè)結(jié)構(gòu)中,每一個(gè)頁(yè)都有一個(gè)頁(yè)號(hào),允許接收者以及任意的順序存儲(chǔ)頁(yè)。</p><p><b>  4)傳輸模式:</b>

29、;</p><p>  傳輸模式用于說(shuō)明文件是如何在數(shù)據(jù)連接上進(jìn)行傳輸?shù)?。主要有以下三?lèi):</p><p>  流模式:將文件當(dāng)作一個(gè)字節(jié)流來(lái)傳輸。</p><p>  塊模式:將文件當(dāng)作一系列的數(shù)據(jù)塊來(lái)傳輸。</p><p>  1.2.3 FTP命令以及響應(yīng) </p><p>  在控制連接上,F(xiàn)TP命令以及響應(yīng)都

30、是以NVT ASCII格式進(jìn)行傳輸?shù)模⑶颐恳恍杏肅R和LF作為結(jié)束。一般來(lái)說(shuō),F(xiàn)TP命令是由3到4個(gè)字節(jié)大寫(xiě)ASCII字符組成的,其中有一些命令有參數(shù)。一般的FTP響應(yīng)是以3個(gè)ASCII數(shù)字作為前導(dǎo),其后跟相應(yīng)的消息,其中2~3位數(shù)字相應(yīng)消息由客戶程序進(jìn)行分析處理,后面的消息是提供給客戶閱讀的。</p><p>  1.2.4 FTP登陸</p><p>  實(shí)際上存在兩種FTP登錄方式

31、:一種是匿名的,之所以稱(chēng)之為匿名的是因?yàn)槿魏稳硕伎梢栽L問(wèn)它。該站點(diǎn)允許那些使用Anonymous用戶名以及E-MAIL地址作為密碼的用戶訪問(wèn)它.在匿名登錄的方式下,一些訪問(wèn)類(lèi)型受到了限制,如大多數(shù)站點(diǎn)允許下載,但是不允許匿名用戶上傳資料;另一種是非匿名的,這是需要一個(gè)合法的用戶名和密碼.用戶和密碼通常是系統(tǒng)管理員或者ISP尤其是所有者提供的.如果沒(méi)有用戶名和密碼,將會(huì)被拒絕訪問(wèn)。</p><p>  1.3 相關(guān)

32、技術(shù)和開(kāi)發(fā)工具</p><p>  本章節(jié)將介紹開(kāi)發(fā)FTP文件傳輸系統(tǒng)的相關(guān)的技術(shù)和開(kāi)發(fā)工具。涉及到的內(nèi)容包括:JAVA語(yǔ)言,開(kāi)發(fā)工具JBUILDER 9的,C/S網(wǎng)絡(luò)通信模式以及服務(wù)器端的軟件Serv-U的相關(guān)知識(shí)和技術(shù)。</p><p>  1.3.1 JAVA簡(jiǎn)介</p><p>  Java來(lái)自Sun公司的一個(gè)叫Green的項(xiàng)目,其原先的目的是為家用消費(fèi)電

33、子產(chǎn)品開(kāi)發(fā)一個(gè)分布式代碼系統(tǒng),這樣我們可以把E-mail發(fā)給電冰箱等家用電器,對(duì)它們進(jìn)行控制,和它們進(jìn)行信息交流。開(kāi)始,準(zhǔn)備采用C++,但是C++太復(fù)雜,安全性差,最后基于C++開(kāi)發(fā)一種新的語(yǔ)言O(shè)ak(Java的前身),Oak是一種用于網(wǎng)絡(luò)的精巧而且安全的語(yǔ)言,Sun公司曾依此投標(biāo)一個(gè)交互式的電視項(xiàng)目,但是結(jié)果是被SGI打敗??蓱z的Oak幾乎無(wú)家可歸,恰巧這時(shí)Mark Ardreesen開(kāi)發(fā)的Mosaic和Netscape啟發(fā)了Oak項(xiàng)

34、目組的成員,他們用Java編制了HotJava瀏覽器,得到了Sun公司首席執(zhí)行官Scott McNealy的支持,觸發(fā)了Java進(jìn)軍Internet。Java的取名葉有一個(gè)趣聞,有一天,幾位Java成員組的會(huì)員正在討論給這個(gè)新的語(yǔ)言取什么名字,當(dāng)時(shí)他們正在咖啡館喝著Java咖啡,有一個(gè)人靈機(jī)移動(dòng)說(shuō)叫Java怎樣,得到了其他人的贊賞,于是Java這個(gè)名字就這樣傳開(kāi)了。</p><p>  作為一種編程語(yǔ)言,JAVA

35、擁有一些很獨(dú)特的特性:</p><p>  安全的(Secure):Java是被設(shè)計(jì)用于網(wǎng)絡(luò)及分布式的環(huán)境中,安全性自必是一個(gè)很 重要的考慮。Java擁有數(shù)個(gè)階層的互鎖(Interlocking)保護(hù)措施,能有效地防止病 毒的侵入和破壞行為的發(fā)生。  結(jié)構(gòu)中立的(Architecture Neutral):一般而言,網(wǎng)絡(luò)是由很多不同機(jī)型的機(jī)器所 組合而成

36、的,CPU和作業(yè)系統(tǒng)體系結(jié)構(gòu)均有所不同;因此,如何使一個(gè)應(yīng)用程序可以 在每一種機(jī)器上執(zhí)行,是一個(gè)難題。所幸,Java的編譯器產(chǎn)生一種結(jié)構(gòu)中立的目標(biāo) 文件格式(Object File Format);這使得編譯碼得以在很多種處理器中執(zhí)行。  可移植的(Portable):原始資料型式的大小是被指定的,例如"float"一直是表示一 個(gè)32位元IEEE

37、 754浮點(diǎn)運(yùn)算數(shù)字,因絕大多數(shù)的CPU都具有此共同特征。程序庫(kù)屬于 系統(tǒng)的一部份,它定義了一些可移植的程序接口,Java本身具備有很好的可移植性。  解釋的(Interpreted):Java解釋器能直接地在任何機(jī)器上執(zhí)行Java位元碼(Bytecodes), 因此在進(jìn)行程序連結(jié)時(shí),時(shí)間的節(jié)省,這對(duì)于縮短</p><p>  動(dòng)態(tài)的(Dynamic):Java比

38、C或C++語(yǔ)言更具有動(dòng)態(tài)性,更能適應(yīng)時(shí)刻在變的環(huán)境, Java不會(huì)因程序庫(kù)的更新,而必須重新編譯程序。</p><p>  1.3.2 Jbuilder 9.0編程環(huán)境</p><p>  Jbuilder是Borland公司的重點(diǎn)產(chǎn)品。隨著JAVA語(yǔ)言的流行,越來(lái)越多的開(kāi)發(fā)者青睞這個(gè)可視化的JAVA應(yīng)用開(kāi)發(fā)工具。使用Jbuilder來(lái)進(jìn)行JAVA開(kāi)發(fā),可極大的加快生手的學(xué)習(xí)速度

39、,縮短熟手的開(kāi)發(fā)時(shí)間,因此在短短幾年內(nèi)成為廣大程序員最喜愛(ài)的開(kāi)發(fā)工具之一。Jbuilder 9.0則集成了軟件開(kāi)發(fā)、測(cè)試、部署、管理等工具,極大的提高項(xiàng)目的開(kāi)發(fā)速度。</p><p>  作為一款經(jīng)典的開(kāi)發(fā)工具,它之所以能吸引越來(lái)越多的開(kāi)發(fā)人員,是由于它的幾個(gè)非常重要同時(shí)也很獨(dú)到的特性。</p><p>  (1) 結(jié)構(gòu)易于創(chuàng)建</p><p>  結(jié)構(gòu)易于創(chuàng)建J

40、Builder提供創(chuàng)建平臺(tái)獨(dú)立的GUI工具的方式與眾不同。從表面上看,JBuilder就與Visual Cafe或Visual Age for Java一樣,它默認(rèn)使用一種叫做XYLayout的布局結(jié)構(gòu)。這個(gè)特性允許程序員以所見(jiàn)即所得的方式將組件放到結(jié)構(gòu)中。   (2) 結(jié)構(gòu)的可維護(hù)性</p><p>  在JBuilder中設(shè)置網(wǎng)格限制相當(dāng)容易,對(duì)任何給定的組件用戶都可以彈出一個(gè)網(wǎng)格限制對(duì)話框,在對(duì)話框中可

41、以設(shè)置一些網(wǎng)格限制參數(shù),如垂直或水平擠壓和填充等。除此之外,用戶也可以直接到網(wǎng)格限制屬性對(duì)話框中進(jìn)行設(shè)置。盡管JBuilder不能象Java Workshop那樣在網(wǎng)格布局結(jié)構(gòu)中直接移動(dòng)組件或調(diào)整其大小那樣容易和直觀,但還是可以完成的。 </p><p>  (3) 可視化編程</p><p>  JBuilder提供了一個(gè)交互向?qū)В↖nteractive Wizard)作為可視化編程工

42、具。其目的是能夠自動(dòng)完成組件之間的一些簡(jiǎn)單的交互操作。然而它的不足之處是交互向?qū)нh(yuǎn)不夠直觀而且缺乏一個(gè)高級(jí)的程序員所要求的靈活性。比如當(dāng)用戶使用它來(lái)產(chǎn)生一組代碼以便當(dāng)按下某個(gè)開(kāi)關(guān)時(shí)可以將文本從一個(gè)編輯控制放到一個(gè)選擇列表中。</p><p>  C/S的網(wǎng)絡(luò)通信模式</p><p>  C/S (Client/Server)結(jié)構(gòu),即大家熟知的客戶機(jī)和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過(guò)它

43、可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到Client端和Server端來(lái)實(shí)現(xiàn),降低了系統(tǒng)的通訊開(kāi)銷(xiāo)。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是Client/Server形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的Web應(yīng)用發(fā)展,Web和Client/Server 應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問(wèn)新的和現(xiàn)有的應(yīng)用系統(tǒng),通過(guò)現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)

44、用系統(tǒng)的發(fā)展方向。</p><p>  傳統(tǒng)的C/S體系結(jié)構(gòu)雖然采用的是開(kāi)放模式,但這只是系統(tǒng)開(kāi)發(fā)一級(jí)的開(kāi)放性,在特定的應(yīng)用中無(wú)論是Client端還是Server端都還需要特定的軟件支持。由于沒(méi)能提供用戶真正期望的開(kāi)放環(huán)境,C/S結(jié)構(gòu)的軟件需要針對(duì)不同的操作系統(tǒng)系統(tǒng)開(kāi)發(fā)不同版本的軟件, 加之產(chǎn)品的更新?lián)Q代十分快,已經(jīng)很難適應(yīng)百臺(tái)電腦以上局域網(wǎng)用戶同時(shí)使用。</p><p>  1.3.4

45、 FTP服務(wù)器端軟件Serv-U</p><p>  FTP個(gè)人服務(wù)器提供了給同一網(wǎng)絡(luò)中的其他機(jī)器互相訪問(wèn)的功能,如:上傳文件,下載文件等實(shí)現(xiàn)資源的共享。</p><p>  Serv-U是Rob Beckers開(kāi)發(fā)的一個(gè)功能強(qiáng)大的、簡(jiǎn)單易用的、成熟的FTP服務(wù)器,F(xiàn)TP服務(wù)器用戶通過(guò)Internet的FTP協(xié)議共享文件。Serv-U不僅僅能100%適用于標(biāo)準(zhǔn)的FTP,同樣也包括了很多功能

46、,是一個(gè)完美的文件共享解決方案。</p><p>  FTP Serv-U最新的版本是6.2,新的版本支持SSl FTP傳輸,支持在多個(gè)Serv-U和FTP客戶端通過(guò)SSL加密連接保護(hù)您的數(shù)據(jù)安全。是一個(gè)適合各種大小空間管理的服務(wù)器,它不僅僅擁有的很多高級(jí)的管理工具,他還是一個(gè)簡(jiǎn)單應(yīng)用和安全的標(biāo)準(zhǔn)。Serv-U是眾多FTP服務(wù)器中比較通俗一個(gè)、同時(shí)擁有眾多高級(jí)和管理工具。</p><p>

47、  FTP Serv-U其他的安全功能:用SSL加密數(shù)據(jù)、ODBC的支持、帶寬限制、目錄和文件的權(quán)限管理、IP限制、定制安全設(shè)置。</p><p>  第二章 系統(tǒng)需求分析</p><p><b>  2.1 任務(wù)概述</b></p><p>  整個(gè)整個(gè)文件傳輸系統(tǒng)是由服務(wù)器端服務(wù)程序和客戶端應(yīng)用共同組成。FTP服務(wù)器端的程序由服務(wù)器端的

48、軟件Serv—U來(lái)控制,負(fù)責(zé)接受和處理客戶端的請(qǐng)求??蛻舳擞?個(gè)模塊組成:連接模塊,下載模塊,上傳模塊,目錄瀏覽模塊,以及界面組成,所有的模塊功能通過(guò)界面同用戶交流。</p><p><b>  2.2 設(shè)計(jì)思想</b></p><p>  利用JAVA的網(wǎng)絡(luò)類(lèi)庫(kù)中專(zhuān)門(mén)針對(duì)FTP文件傳輸?shù)南嚓P(guān)類(lèi)以及方法,實(shí)現(xiàn)與現(xiàn)有的FTP服務(wù)器的連接與通信。利用C/S網(wǎng)絡(luò)應(yīng)用模型的相

49、關(guān)特點(diǎn)與知識(shí),配合開(kāi)發(fā)工具的自身的特點(diǎn)實(shí)現(xiàn)FTP文件傳輸系統(tǒng)。 </p><p>  2.3 系統(tǒng)工作流程與結(jié)構(gòu)</p><p>  FTP的客戶端程序的設(shè)計(jì)主要有四個(gè)部分:客戶登陸程序設(shè)計(jì),FTP服務(wù)器目錄瀏覽程序,FTP服務(wù)器目錄更新程序設(shè)計(jì),上傳和下載文件程序設(shè)計(jì).而相應(yīng)的操作流程為:</p><p>  首先客戶端程序先連接服務(wù)器;然后瀏覽或更

50、新FTP服務(wù)器目錄;選擇文件進(jìn)行下載和上傳;進(jìn)行文件數(shù)據(jù)傳輸;最后斷開(kāi)連接.</p><p>  由于JBULIEDER提供的FTP控件已經(jīng)對(duì)其進(jìn)行了類(lèi)的封裝, 因而對(duì)用戶來(lái)說(shuō)它是透明的,不必在去編程解釋響應(yīng)消息了.這樣使用JBULIDER9,就節(jié)約了大量的開(kāi)發(fā)時(shí)間.</p><p>  下圖是文件傳輸系統(tǒng)的系統(tǒng)結(jié)構(gòu):</p><p>  圖2-1文件傳輸系統(tǒng)的結(jié)構(gòu)

51、</p><p><b>  2.4 用例描述</b></p><p><b>  客戶端實(shí)現(xiàn)的功能:</b></p><p>  能連接到一個(gè)遠(yuǎn)端的FTP服務(wù)器</p><p>  從遠(yuǎn)端服務(wù)器下載文件</p><p>  能向遠(yuǎn)端服務(wù)器上傳文件</p>&

52、lt;p>  能斷開(kāi)和當(dāng)前遠(yuǎn)端服務(wù)器的連接</p><p>  從功能上得到四個(gè)用例:</p><p>  建立連接 下載文件 上傳文件 斷開(kāi)連接</p><p><b>  用例圖如下所示:</b></p><p>  圖2-2 客戶端用例圖</p><p>  每個(gè)用例

53、描述文件如下:</p><p><b>  (1)建立連接</b></p><p>  “建立連接”用例描述了用戶建立連接的整個(gè)過(guò)程。具體描述下:</p><p><b>  用例名稱(chēng):建立連接</b></p><p>  用例說(shuō)明:通過(guò)網(wǎng)絡(luò)連接到一個(gè)FTP服務(wù)器</p><p&

54、gt;  通信協(xié)議:使用FTP協(xié)議</p><p><b>  基本過(guò)程:</b></p><p>  1)輸入FTP服務(wù)器的信息</p><p>  2)用戶發(fā)出建立或連接FTP服務(wù)器的請(qǐng)求</p><p>  3)連接到指定的FTP服務(wù)器</p><p><b> ?。?)下載文件&

55、lt;/b></p><p>  “下載文件”用例描述了用戶從服務(wù)器下載文件到本地文件夾的過(guò)程。具體描述如下:</p><p><b>  用戶名稱(chēng):下載文件</b></p><p>  用戶說(shuō)明:用戶獲取遠(yuǎn)端服務(wù)器提供的服務(wù),下載遠(yuǎn)程服務(wù)器上的文件到本地</p><p>  通信協(xié)議:使用FTP協(xié)議</p&

56、gt;<p><b>  基本過(guò)程:</b></p><p>  1)用戶確定需要下載的遠(yuǎn)端文件的信息</p><p>  2)用戶確定保存文件的本地路徑</p><p>  3)向服務(wù)器發(fā)送下載文件的請(qǐng)求</p><p>  4)從遠(yuǎn)端服務(wù)器獲取文件</p><p>  5)保存文

57、件到本地磁盤(pán)</p><p>  基本過(guò)程中使用了FTP協(xié)議提交下載文件的請(qǐng)求,并且獲取遠(yuǎn)端文件。</p><p><b> ?。?)上傳文件</b></p><p>  “上傳文件”用例描述了用戶從本地上傳文件到服務(wù)器的過(guò)程。具體描述如下:</p><p><b>  用例名稱(chēng):上傳文件</b>&

58、lt;/p><p>  用例說(shuō)明:用戶獲取遠(yuǎn)端服務(wù)器提供的服務(wù),上傳本地的文件到遠(yuǎn)程服務(wù)器</p><p>  通信協(xié)議:使用FTP協(xié)議</p><p><b>  基本過(guò)程:</b></p><p>  1)用戶確定需要上傳的本地文件的信息</p><p>  2)用戶確定保存文件的遠(yuǎn)程路徑<

59、/p><p>  3)向服務(wù)器發(fā)送上傳文件的請(qǐng)求</p><p>  4)向遠(yuǎn)端服務(wù)器傳輸文件</p><p>  基本過(guò)程中使用FTP協(xié)議上傳文件的請(qǐng)求,并傳輸本地文件到遠(yuǎn)端服務(wù)器的指定位置。</p><p><b> ?。?)斷開(kāi)連接</b></p><p>  “斷開(kāi)連接”用例描述了用戶斷開(kāi)和當(dāng)

60、前服務(wù)器連接的整個(gè)過(guò)程。具體的描述如下:</p><p><b>  用例名稱(chēng):斷開(kāi)連接</b></p><p>  用例說(shuō)明:離開(kāi)當(dāng)前已經(jīng)連接的FTP服務(wù)器</p><p>  通信協(xié)議:使用FTP協(xié)議</p><p><b>  基本過(guò)程:</b></p><p>  (

61、1)用戶發(fā)送斷開(kāi)連接的請(qǐng)求</p><p> ?。?)將用戶請(qǐng)求發(fā)送到FTP服務(wù)器</p><p> ?。?)停止從FTP服務(wù)器獲取服務(wù)</p><p> ?。?)斷開(kāi)和FTP服務(wù)器的連接</p><p>  預(yù)期結(jié)果是停止從當(dāng)前服務(wù)器上的服務(wù),并且斷開(kāi)和當(dāng)前FTP服務(wù)器的連接。</p><p><b>  

62、客戶端的活動(dòng)圖</b></p><p>  4個(gè)用例的文字描述已經(jīng)給出,這里使用活動(dòng)圖來(lái)對(duì)復(fù)雜用例進(jìn)一步的說(shuō)明。這里給出實(shí)現(xiàn)主要功能的“下載文件”和“上傳文件”兩個(gè)用例的活動(dòng)圖。</p><p>  “下載文件”用例的活動(dòng)圖如圖所示:</p><p>  圖2-3“下載文件”用例的活動(dòng)圖</p><p>  從活動(dòng)圖中,我們更直接

63、的了解了該子用例的整個(gè)工作的流程如下:</p><p> ?。?)系統(tǒng)定位下載的文件和保存的路徑。</p><p> ?。?)發(fā)送下載文件的請(qǐng)求。</p><p> ?。?)如果請(qǐng)求失敗,則提示出錯(cuò)的信息,然后結(jié)束。</p><p> ?。?)如果請(qǐng)求成功,獲取遠(yuǎn)程文件的內(nèi)容。</p><p> ?。?)如果獲取失敗,

64、則提示出錯(cuò)信息,然后結(jié)束。</p><p> ?。?)如果獲取成功,保存文件到本地,然后結(jié)束。</p><p>  “上傳文件”用例的活動(dòng)圖如下圖所示:</p><p>  圖2-4“下載文件”用例的活動(dòng)圖</p><p>  從活動(dòng)圖中,我們更能直觀的了解該子用例的整個(gè)工作流程如下:</p><p> ?。?)系統(tǒng)定

65、位上傳文件和保存路徑。</p><p> ?。?)發(fā)送上傳文件請(qǐng)求。</p><p> ?。?)如果請(qǐng)求失敗,則提示出錯(cuò)信息,然后結(jié)束。</p><p>  (4)如果請(qǐng)求成功,傳輸本地的文件到服務(wù)器。</p><p> ?。?)如果文件傳輸失敗,則提示出錯(cuò)信息,然后結(jié)束。</p><p> ?。?)如果傳輸文件成功,

66、提示傳輸成功,然后結(jié)束。</p><p>  至此,客戶端的用例已經(jīng)描述完善。</p><p>  2.5 分析與設(shè)計(jì)</p><p><b>  獲取客戶端對(duì)象</b></p><p>  從用例以及描述中,分析每個(gè)活動(dòng)以及其實(shí)現(xiàn)的功能,可以得到實(shí)現(xiàn)客戶端的對(duì)象:連接界面,服務(wù)界面,響應(yīng)處理,建立連接,上傳文件,斷開(kāi)

67、連接和下載文件.它們之間的關(guān)系用對(duì)象圖表示如下:</p><p>  圖2-5 客戶端對(duì)象圖</p><p>  客戶端對(duì)象的靜態(tài)關(guān)系(每個(gè)用例將建立一個(gè)協(xié)作圖,來(lái)詳細(xì)描述對(duì)象之間的關(guān)系)</p><p><b>  1建立連接</b></p><p><b>  協(xié)作圖如下:</b></p&

68、gt;<p>  圖2-6 “建立連接”協(xié)作圖 </p><p>  該協(xié)作圖描述的對(duì)象關(guān)系如下:</p><p>  用戶向“連接界面”發(fā)送“連接請(qǐng)求”,“連接界面”向“響應(yīng)處理”發(fā)送“連接請(qǐng)求”,“響應(yīng)處理”向“建立連接”發(fā)送“連接請(qǐng)求”, “建立連接”向“連接界面”發(fā)送 “連接建立”, “連接建立”向用戶反饋”連接建立”</p><p><

69、;b>  2.下載文件</b></p><p>  “下載文件”用例將遠(yuǎn)端服務(wù)器的文件傳輸?shù)奖镜?lt;/p><p>  圖2-7 “下載文件”協(xié)作圖 </p><p>  3.上傳文件(同下載)</p><p>  “上傳文件”用例將文件傳輸?shù)竭h(yuǎn)端服務(wù)器</p><p>  4.斷開(kāi)連接(同連接)<

70、;/p><p>  “斷開(kāi)連接”用例的對(duì)象關(guān)系和用例”建立連接”相似</p><p>  客戶端對(duì)象的動(dòng)態(tài)關(guān)系(建立序列圖)</p><p><b>  1.建立連接</b></p><p>  圖2-8“建立連接”序列圖</p><p><b>  2.下載文件</b><

71、/p><p>  圖2-9“下載文件”序列圖</p><p>  3.上傳文件(同下載)</p><p>  4.斷開(kāi)連接(同連接)</p><p>  2.6 相關(guān)類(lèi)的設(shè)計(jì)</p><p><b>  1.用戶界面的類(lèi)圖</b></p><p>  圖2-10 簡(jiǎn)要類(lèi)圖 &l

72、t;/p><p>  這個(gè)圖描述了界面本身的結(jié)構(gòu),是一個(gè)很簡(jiǎn)單的設(shè)計(jì)模型,而并未牽涉到界面在整體中的作用,以及UI對(duì)象之間的交互的方式。</p><p>  綜合考慮功能和復(fù)雜性,通過(guò)模型重組,最終要實(shí)現(xiàn)的類(lèi)只有一個(gè)。該類(lèi)實(shí)現(xiàn)了FTP客戶端的所有功能.其類(lèi)如圖所示</p><p>  圖2-11詳細(xì)類(lèi)圖 </p><p>  類(lèi)圖僅僅表示靜態(tài)結(jié)構(gòu)

73、,下面給出狀態(tài)圖進(jìn)一步描述其行為.</p><p>  圖2-12 狀態(tài)圖 </p><p>  狀態(tài)圖中,根據(jù)3個(gè)用例將類(lèi)的行為分為3個(gè)狀態(tài):</p><p>  1)尚未聯(lián)機(jī):該狀態(tài)下顯示斷開(kāi)連接時(shí)候的用戶界面,響應(yīng)連接按鈕的事件來(lái)建立連接,轉(zhuǎn)到聯(lián)機(jī)狀態(tài),或者響應(yīng)關(guān)閉窗口的事件,退出程序</p><p>  2)已經(jīng)聯(lián)機(jī):該狀態(tài)下顯示連接

74、到服務(wù)器的信息,并且顯示用戶可以訪問(wèn)的文件列表,等待新的命令.如果命令是下載則轉(zhuǎn)到下載文件狀態(tài)下載文件,若是斷開(kāi)連接則斷開(kāi)和服務(wù)器的連接轉(zhuǎn)到尚未聯(lián)機(jī)的狀態(tài),若是關(guān)閉窗體,則退出程序.</p><p>  3)下載文件:實(shí)現(xiàn)下載功能</p><p>  第三章 系統(tǒng)界面設(shè)計(jì)及模塊實(shí)現(xiàn)</p><p><b>  3.1 功能說(shuō)明</b><

75、/p><p>  FTP的客戶端程序的設(shè)計(jì)主要有四個(gè)部分:客戶登陸程序設(shè)計(jì),FTP服務(wù)器目錄瀏覽程序,FTP服務(wù)器目錄更新程序設(shè)計(jì),上傳和下載文件程序設(shè)計(jì).而相應(yīng)的操作流程為:</p><p>  首先客戶端程序先連接服務(wù)器;然后瀏覽或更新FTP服務(wù)器目錄;選擇文件進(jìn)行下載和上傳;進(jìn)行文件數(shù)據(jù)傳輸;最后斷開(kāi)連接.</p><p>  整個(gè)系統(tǒng)由圖形界面,登陸程序,瀏覽程

76、序,上傳,下載程序四大模塊組成.圖形用戶界面又由登陸界面和文件處理界面組成.它主要給用戶提供交互手段.登陸程序通過(guò)用戶提供的登陸信息連接到服務(wù)器,并把信息反饋于登陸界面.瀏覽程序?qū)崿F(xiàn)服務(wù)器與客戶端文件目錄的瀏覽.上傳與下載程序主要完成文件的傳輸,是系統(tǒng)的核心模塊.</p><p>  由于JBULIEDER提供的FTP控件已經(jīng)對(duì)其進(jìn)行了類(lèi)的封裝, 因而對(duì)用戶來(lái)說(shuō)它是透明的,不必在去編程解釋響應(yīng)消息了.這樣使用JB

77、ULIDER9,就節(jié)約了大量的開(kāi)發(fā)時(shí)間.</p><p>  3.2 程序設(shè)計(jì)流程圖</p><p>  圖3-1 程序設(shè)計(jì)流程圖</p><p>  3.3 各界面的設(shè)計(jì)</p><p>  3. 3. 1 主界面設(shè)計(jì)</p><p>  用戶使用JBuilder9中的Project Wizard來(lái)創(chuàng)建工程。工

78、程的擴(kuò)展名為:jpx。工程文件包含了工程其他文件所在目錄信息。使用Project Wizard的具體步驟如下:</p><p>  選擇FILE——New Project菜單項(xiàng)。</p><p>  在Name文本框中輸入FTPClient。</p><p>  單擊Finish按鈕</p><p>  表5-1 給出了要添加和設(shè)置的控件和需

79、要修改的設(shè)置值:</p><p>  表3-1 主界面的設(shè)計(jì)</p><p>  圖3-2為主界面最終效果圖</p><p><b>  圖3-2 主界面</b></p><p>  3. 3. 2 連接FTP服務(wù)器界面設(shè)計(jì)</p><p>  連接FTP服務(wù)器的設(shè)計(jì)是在jPanel1的基礎(chǔ)上

80、是設(shè)計(jì)實(shí)現(xiàn)的,增加了一些其他的控件,如表3-2所示:</p><p>  表3-2 連接FTP服務(wù)器界面的設(shè)計(jì)</p><p>  圖3-3為主界面最終效果:</p><p>  圖3-3 連接FTP服務(wù)器界面</p><p>  3. 3. 3 文件處理界面設(shè)計(jì)</p><p>  連接FTP服務(wù)器的設(shè)計(jì)是在j

81、Panel1的基礎(chǔ)上是設(shè)計(jì)實(shí)現(xiàn)的,增加了一些其他的控件,如表3-3所示:</p><p>  表3-3 文件處理界面的設(shè)計(jì)</p><p>  圖3-4為文件處理界面最終效果:</p><p>  圖3-4 文件處理界面</p><p>  3.4 模塊功能介紹及核心代碼</p><p>  3. 4. 1 登錄

82、模塊</p><p><b>  功能介紹:</b></p><p>  (1)實(shí)例化一個(gè)FtpClient對(duì)象,如果輸入的形式不對(duì),提示相應(yīng)的消息</p><p>  (2)登陸FTP服務(wù)器。如果不能登陸,提示相應(yīng)的信息</p><p>  (3)刷新服務(wù)器列表框,顯示服務(wù)器端的文件信息</p><

83、p><b>  核心代碼:</b></p><p><b>  try{</b></p><p>  ftp= new FtpClient(hostname,21);</p><p>  ftp.login(jTextField2.getText(),jTextField3.getText());</p>

84、<p>  ftp.binary();</p><p><b>  }</b></p><p>  catch (IOException ex){</p><p>  JOptionPane.showMessageDialog(this, "連接主機(jī):"+hostname+"失敗!");&l

85、t;/p><p><b>  }</b></p><p>  3. 4. 2 瀏覽模塊</p><p><b>  功能介紹:</b></p><p>  (1) 列出服務(wù)器端的目錄 文件詳細(xì)內(nèi)容</p><p>  (2) 向列表框添加分解得到的目錄 文件</p>

86、<p>  (3) 向列表框添加目錄文件</p><p><b>  核心代碼:</b></p><p><b>  try {</b></p><p>  TelnetInputStream t = ftp.list();</p><p>  t.setStickyCRLF(true

87、);</p><p>  while ( (ch = t.read()) >= 0) {</p><p>  if (ch == '\n') {</p><p>  list1.add(buf.toString().trim());</p><p>  buf.setLength(0);</p><p

88、><b>  }</b></p><p><b>  else {</b></p><p>  buf.append( (char) ch);</p><p><b>  }</b></p><p><b>  }}</b></p>&

89、lt;p>  catch (IOException ex) {</p><p><b>  }</b></p><p><b>  }</b></p><p>  3. 4. 3 文件上傳模塊</p><p>  功能介紹: 看有沒(méi)有相應(yīng)上傳,若沒(méi)有選,剛顯示相應(yīng)消息.若選了,判斷:是目錄,

90、不進(jìn)行認(rèn)識(shí)操作;若是文件,則上傳。</p><p><b>  核心代碼:</b></p><p><b>  try {</b></p><p>  RandomAccessFile sendFile = new RandomAccessFile( conPath() , "r");</p>

91、;<p>  sendFile.seek(0);</p><p>  TelnetOutputStream outs = ftp.put(filename);</p><p>  DataOutputStream outputs = new DataOutputStream(outs);</p><p>  while (sendFile.getFil

92、ePointer() < sendFile.length()) {</p><p>  ch = sendFile.read();</p><p>  outputs.write(ch);</p><p><b>  }</b></p><p>  outs.close();</p><p>

93、;  sendFile.close();</p><p><b>  }</b></p><p>  catch (IOException ex) {</p><p><b>  }</b></p><p>  功能簡(jiǎn)介: 看有沒(méi)有相應(yīng)上傳,若沒(méi)有選,剛顯示相應(yīng)消息.若選了,判斷:是目錄,不進(jìn)行認(rèn)識(shí)

94、操作;若是文件,則上傳。</p><p>  3. 4. 4 文件下載模塊</p><p>  功能介紹:觀察可選了本地目錄用于下載:若沒(méi)選了則在信息顯示框中顯示相應(yīng)的消息;若選了,判斷是不是文件:(I)如果是文件,則在信息顯示框中提示相應(yīng)的消息;(II)如果是目錄,則進(jìn)行下載.下載文件到本地目錄。</p><p><b>  核心代碼:</b&g

95、t;</p><p><b>  try{</b></p><p>  File localFile = new File(conPath()+"\\"+filename) ;</p><p>  RandomAccessFile getFile= new RandomAccessFile(localFile+"

96、\\+filename); </p><p>  TelnetInputStream ins = ftp.get(filename);</p><p>  DataInputStream Inputs = new DataInputStream(ins);</p><p>  while ((ch = Inputs.read()) >

97、= 0) {</p><p>  getFile.write(ch);</p><p><b>  }</b></p><p>  ins.close();</p><p>  getFile.close();</p><p><b>  }</b></p>&

98、lt;p>  catch (IOException ex) {</p><p><b>  }</b></p><p><b>  }</b></p><p>  3. 4. 5 斷開(kāi)與服務(wù)器的連接</p><p>  功能介紹:斷開(kāi)與FTP服務(wù)器的連接</p><p>

99、;<b>  try {</b></p><p>  if (ftp!=null) {</p><p>  ftp.closeServer();</p><p>  list1.removeAll();</p><p><b>  }</b></p><p><b>

100、;  }</b></p><p>  catch (IOException ex) {</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  第四章 軟件測(cè)試</b></p><p>  

101、4.1 確定測(cè)試策略</p><p>  在本次設(shè)計(jì)中,對(duì)被測(cè)試程序的功能有明確的要求:即:</p><p><b>  能否連接服務(wù)器</b></p><p>  成功上傳文件到服務(wù)器</p><p>  成功從服務(wù)器下載文件</p><p>  能成功斷開(kāi)與服務(wù)器的連接</p>

102、<p>  4.2 劃分輸入等價(jià)類(lèi)</p><p>  表 4—1 建立連接等價(jià)類(lèi)</p><p>  表 4—2 上傳文件等價(jià)類(lèi)</p><p>  表4—3 下載文件等價(jià)類(lèi)</p><p>  表4—4 斷開(kāi)連接等價(jià)類(lèi)</p><p>  4.3 建立測(cè)試用例</p><p&

103、gt;  表 4—5 建立連接測(cè)試用例</p><p>  表 4—6 上傳文件測(cè)試用例</p><p>  表 4—7 下載文件測(cè)試用例</p><p>  表 4—8 斷開(kāi)連接測(cè)試用例</p><p><b>  結(jié) 論</b></p><p>  FTP客戶端設(shè)計(jì)的原理,F(xiàn)TP使用兩

104、條TCP連接來(lái)完成文件傳輸:控制連接與數(shù)據(jù)連接。控制連接用于傳輸控制,數(shù)據(jù)連接用于數(shù)據(jù)輸送。在服務(wù)器啟動(dòng)后,服務(wù)器就會(huì)在端口21等待客戶的連接請(qǐng)求,有用戶需要傳輸文件時(shí),客戶與服務(wù)器的端口21建立一個(gè)控制連接,用來(lái)傳送客戶的命令和服務(wù)器的應(yīng)答,該連接一直保持到客戶與服務(wù)器通信結(jié)束為止。當(dāng)客戶發(fā)出數(shù)據(jù)傳輸命令時(shí),服務(wù)器會(huì)主動(dòng)與客戶建立數(shù)據(jù)連接,并與其進(jìn)行數(shù)據(jù)交換。</p><p>  客戶端用戶并不直接處理控制連接

105、上的FTP命令和FTP響應(yīng),而是由兩個(gè)協(xié)議解釋器進(jìn)行處理。用戶接口為客戶端用戶提供一定形式的輸入界面,接收用戶的命令,將其轉(zhuǎn)換成標(biāo)準(zhǔn)的FTP命令,最終將控制連接上的FTP響應(yīng)轉(zhuǎn)換成用戶可理解的方式。在客戶與服務(wù)器的整個(gè)連接期間,控制連接必須保持,而數(shù)據(jù)連接卻可以根據(jù)請(qǐng)求動(dòng)態(tài)地建立和關(guān)閉。在最常用的流模式中,文件結(jié)束是用數(shù)據(jù)連接的關(guān)閉來(lái)表示的,換句話說(shuō),每傳輸一個(gè)文件或文件列表,系統(tǒng)就會(huì)再建立一個(gè)新的數(shù)據(jù)連接。 </p&g

106、t;<p>  到這里,我的畢業(yè)論文已經(jīng)做完了,當(dāng)然還有一些問(wèn)題有待解決。比如實(shí)現(xiàn)智能化的定時(shí)開(kāi)關(guān)功能,F(xiàn)TP傳輸?shù)陌踩珕?wèn)題以及客戶端的注冊(cè)功能等。在未來(lái)的日子里,本人會(huì)繼續(xù)努力,在力所能及的范圍內(nèi),盡量完善系統(tǒng)的功能。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 應(yīng)群編著. 面向?qū)ο蟮腏AVA網(wǎng)絡(luò)編程. 清華大學(xué)出版社,

107、 2004</p><p>  [2] 張青, 郭立山編著. Java程序設(shè)計(jì)教程. 冶金工業(yè)出版社, 2002</p><p>  [3] 徐雅靜編著. Jbuilder入門(mén)與提高. 人民郵電出版社, 2003</p><p>  [4] 胡月, 葉曙光編著. Jbuilder9入門(mén)與提高. 科學(xué)出版社, 2004</p><p&

108、gt;  [5] 李爭(zhēng), 陸正中編著. JBuilder精髓. 電子工業(yè)出版社, 2004</p><p>  [6] 張孝祥編著. Java就業(yè)教程. 清華大學(xué)出版社, 2004</p><p>  [7] 龔正虎編著. 計(jì)算機(jī)網(wǎng)絡(luò)協(xié)議工程. 國(guó)防科技大學(xué)出版社, 1993</p><p>  [8] 許治坤等編著. 網(wǎng)絡(luò)滲透技術(shù). 電子工業(yè)出版社,

109、 2005</p><p>  [9] 饒一梅, 張鈞編著. Java程序設(shè)計(jì). 清華大學(xué)出版社, 2004</p><p>  [10] Cay S. Horstmann, Gary Cornell. JAVA 2 核心技術(shù). 機(jī)械工業(yè)出版社, 2004</p><p>  [11] Bruce Eckel. Thinking in Java(Sec

溫馨提示

  • 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ù)僅提供信息存儲(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)論