




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、學(xué)生姓名專業(yè)學(xué)號(hào)指導(dǎo)教師學(xué)院本科生專業(yè)方向應(yīng)用實(shí)訓(xùn) 科研訓(xùn)練FTP客戶端與服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)Design and implementation of FTP client and server蒲 鳳軟件工程140521221高培成尹大力祝勇計(jì)算機(jī)科學(xué)技術(shù)二一七年七月起止周17 19周數(shù)3實(shí)習(xí)地點(diǎn)計(jì)算機(jī)學(xué)院專業(yè)實(shí)驗(yàn)室選題自選科研訓(xùn)練目的:實(shí)訓(xùn)的目的是使學(xué)生在學(xué)完專業(yè)課程后,學(xué)會(huì)并掌握軟件開(kāi)發(fā)的基本技能 , 鞏固已學(xué)的知識(shí),補(bǔ)充未學(xué)的但又必要的內(nèi)容。通過(guò)了解并實(shí)踐常見(jiàn)的軟件 開(kāi) 發(fā)過(guò)程進(jìn)行系統(tǒng)開(kāi)發(fā),并且使用相關(guān)語(yǔ)言進(jìn)行專業(yè)方向的系統(tǒng)實(shí)現(xiàn)??蒲杏?xùn)練要求:1. 了解實(shí)際項(xiàng)目分析、設(shè)計(jì)、開(kāi)發(fā)、測(cè)試、部署
2、等完整流程;2. 熟練使用常用程序開(kāi)發(fā)工具進(jìn)行開(kāi)發(fā);3. 養(yǎng)成良好的表達(dá)、溝通和團(tuán)隊(duì)協(xié)作能力,掌握快速學(xué)習(xí)方法,培 養(yǎng)良好的分析問(wèn)題和解決問(wèn)題的能力??蒲杏?xùn)練主要內(nèi)容:1. 軟件開(kāi)發(fā)能力:培訓(xùn)學(xué)生的編程思想和基本工作技能,培養(yǎng)與提高學(xué)生 的編程能力。2. 軟件工程能力:按照軟件工程的思想,訓(xùn)練學(xué)生掌握面向?qū)ο蠓治?/設(shè) 計(jì)(UML建模)、編碼規(guī)范、概要設(shè)計(jì)方法、詳細(xì)設(shè)計(jì)方法、模塊劃分方法等技 能。3. 工程頭踐能力:按照專業(yè)方向或?qū)W生就業(yè)方向選擇一個(gè)項(xiàng)目進(jìn)行頭際開(kāi) 發(fā),完成整個(gè)開(kāi)發(fā)過(guò)程。4. 項(xiàng)目文檔管理能力:實(shí)訓(xùn)最終要提交實(shí)訓(xùn)報(bào)告,包括項(xiàng)目需求分析、總 體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、系統(tǒng)測(cè)試,及最終總結(jié)
3、。指導(dǎo)教師評(píng)語(yǔ):成績(jī):指導(dǎo)教師/帶隊(duì)教師(簽字)2017年7月日摘要隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,信息共享的時(shí)代己經(jīng)到來(lái)。在實(shí)現(xiàn)數(shù)據(jù)傳輸與信息共享的諸多方式中,F(xiàn)TP無(wú)疑是應(yīng)用最廣的一種方 式。FTP協(xié)議是計(jì)算 機(jī)網(wǎng) 絡(luò)中的應(yīng)用層協(xié)議,提供了可靠的文件傳輸功能,并且具有跨平臺(tái)特性,兩個(gè)不同類型的操作系統(tǒng)只要都支持 FTP協(xié)議就可以進(jìn)行文件傳輸工作。因此, 探討 文件傳輸協(xié)議(FTP)的內(nèi)容和工作原理,分析FI卩客戶端與服務(wù)器的連接 過(guò)程及 FI卩請(qǐng)求與應(yīng)答工作模式,設(shè)計(jì)C/S架構(gòu)下的FTP系統(tǒng)的實(shí)現(xiàn)方案,在.NET平臺(tái) 利用C#語(yǔ)言搭建起FTP系統(tǒng)的窗體界面,并且使 用.NET類庫(kù)實(shí)現(xiàn)了 文件上傳
4、、 刪除和修改等功能。關(guān)鍵詞:FTP協(xié)議 服務(wù)器 客戶端.NETAbstractWith the rapid developme nt of In ternet tech no logy, the era of in formatio n sharing has arrived. In many ways of realizing data transmission and information sharing, FTP is undoubtedly the most widely used method. FTP protocol is an application layer proto
5、col in computer network, provides a reliable file transfer fun cti on, and has the characteristics of cross platform, two differe nttypes of operat ing system as long as can support the FTP protocol for file transfer work. Therefore, to explore the file transfer protocol (FTP) contentand working pri
6、nciple, analysis of the connection processand the FIP request and responsemode FIP the client and the server implementation schemeof FTP system design under the C/S framework, the window body interface.NET platform using C# Ianguageto build FTP system, and use the.NET Library to achievethe file uplo
7、ad, delete and modify fun cti ons.Keywords:FTPprotocol;server;clie nt;. net目錄摘要IABSTRACTII第一章緒論11.1研究背景11.2國(guó)內(nèi)外研究現(xiàn)狀21.3課程設(shè)計(jì)主要研究?jī)?nèi)容和架構(gòu)2第二章需求分析32.1需求分析32.2功能列表 32.3系統(tǒng)權(quán)限3第三章技術(shù)方案43.1 .NET架構(gòu)平臺(tái)43.1.1 .NET的體系結(jié)構(gòu)43.1.2 .NET 框架的特色43.2開(kāi)發(fā)工具53.2.1 Visual Studio 5第四章總體設(shè)計(jì)64.1系統(tǒng)體系結(jié)構(gòu)模型64.2 FTP系統(tǒng)模型64.3系統(tǒng)工作流程設(shè)計(jì)74.4系統(tǒng)功能模
8、塊介紹84.2.1登陸與注銷84.2.2模式選擇94.2.3文件管理94.2.4目錄管理9第五章詳細(xì)設(shè)計(jì)105.1登陸與注銷105.2文件管理115.2.1文件下載115.2.2 文件上傳12523 文件重命名 12524文件刪除135.4目錄管理135.4.1目錄顯示135.4.2目錄切換145.4.3目錄添加155.4.4目錄重命名 155.4.5目錄刪除16第六章 軟件測(cè)試 176.1測(cè)試方法176.2測(cè)試用例176.3測(cè)試過(guò)程及結(jié)果 18第七章總結(jié)20參考文獻(xiàn)21附錄22第一章緒論網(wǎng)絡(luò)的首要目的就是實(shí)現(xiàn)信息共享,文件傳輸是其中重要的一個(gè)方面,隨 著In ternet的迅猛發(fā)展,信息數(shù)據(jù)
9、的傳輸量大大增加,數(shù)據(jù)的網(wǎng)絡(luò)傳輸顯得越來(lái)越重要。利用FTP( File Transfer Protocol)文件傳輸協(xié)議來(lái)實(shí)現(xiàn)遠(yuǎn)程文件的傳輸 是軟件設(shè)計(jì)常用的方法。FTP是基于客戶端/服務(wù)器結(jié)構(gòu)的文件傳輸協(xié)議,它相 對(duì)成熟,并有著改進(jìn)和增強(qiáng) FTP文件傳輸協(xié)議的相關(guān)協(xié)議支持。目前FTP客戶端軟件很多,主要分為3類:第一類是傳統(tǒng)的DOS環(huán)境下的FTP操作,由于其 效率低和操作繁瑣,目前使用很少;第二類是圖形化界面的FTP軟件,目前主要有WS-FTP、CuteFTP等;第三類是瀏覽器,同樣支持 FTP協(xié)議,但速度相對(duì) 于專業(yè)軟件來(lái)說(shuō)較慢。設(shè)計(jì)并實(shí)現(xiàn)了FTP服務(wù)器/客戶端,能實(shí)現(xiàn)連接、下載、上傳等功
10、能,操作簡(jiǎn)便、交互性強(qiáng)。1.1研究背景互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,推動(dòng)了全世界范圍內(nèi)資料信息的傳輸與共享,深 刻地改變了人們的工作和生活方式。FTP技術(shù)作為文件傳輸?shù)闹匾侄危航?jīng) 得到了廣泛的使用。通常人們可以使用電子郵箱、即時(shí)通訊客戶端(例如QQ和FTP客戶端來(lái)進(jìn)行資料的傳輸。在這幾種常用的方式中,電子郵箱必須以附件的形式來(lái)傳輸文件,并且對(duì)文件大小有限制;即時(shí)通訊客戶端中的文件傳輸一般 要求用戶雙方必須在線,如今雖然增加了離線傳輸?shù)墓δ埽摴δ鼙举|(zhì)上是通過(guò)服務(wù)器暫時(shí)保存用戶文件實(shí)現(xiàn)的,與FTP原理類似。此外通過(guò)這兩種方式傳輸文件資料有一個(gè)共同的缺陷:需要傳輸?shù)奈募o(wú)法以目錄系統(tǒng)的形式呈現(xiàn)給 用
11、戶。所以,F(xiàn)TP文件傳輸系統(tǒng)有其無(wú)可替代的優(yōu)勢(shì),在 文件傳輸領(lǐng)域始終占 據(jù)重要地位,因此對(duì)其進(jìn)行的研究頗有現(xiàn)實(shí)意義。FTP之所以流行于全世界很大程度歸功于匿名FTP使用及推廠。用戶不需要注冊(cè)就可以通過(guò)匿名 FTP登錄到遠(yuǎn)程主機(jī)來(lái)獲取所需的文件。所以,每一位用戶都可以在匿名FTP主機(jī)上獲取所需的文件,匿名FTP為世界各個(gè)角落的人提供了一條通往巨大資源庫(kù)的道路,人們可以在資源庫(kù)中自由下載所需要的資源,并且這個(gè)資源庫(kù)還在不斷地?cái)U(kuò)充中。另外在 In ternet上,匿名FTP是軟件 分發(fā)的主要方式,許多程序通過(guò)匿名FTP分布,每一個(gè)程序開(kāi)發(fā)者都可以搭建FTP服務(wù)器來(lái)發(fā)布軟件。早期的FTP文件傳輸系統(tǒng)以
12、命令行的形式呈現(xiàn),發(fā)展至今涌現(xiàn)出很多圖形 界面的FTP應(yīng)用軟件,比較常見(jiàn)的有 F1ashFXP CuteFTP, Serv-U。這些FTP 軟件都采用C/S架構(gòu),即包含客戶端和服務(wù)器兩個(gè)部分,基于FTP協(xié)議實(shí)現(xiàn)信息交互。用戶通過(guò)客戶端進(jìn)行基本的上傳下載操作,實(shí)現(xiàn)資源文件的共享。然而,絕大部分網(wǎng)絡(luò)瀏覽器提供的文件下載器并不具備文件資源管理功能或管理起來(lái)很不方便,另外,市面上大部分FTP軟件都是收費(fèi)、不開(kāi)源的并且會(huì)出現(xiàn)功能冗余、配置繁瑣的情況。所以自主設(shè)計(jì)一個(gè)客戶端與服務(wù)器兩者兼具并且具備良好人機(jī)交互界面的FTP文件傳輸系統(tǒng)就顯得尤為重要。1.2國(guó)內(nèi)外研究現(xiàn)狀1971年,第一個(gè)FTP的RFC (R
13、equest For Comments是一系列以編號(hào)排 定的文件,包含了關(guān)于In ternet幾乎所有重要的文字資料)由AKBhushan提 出,同一時(shí)期由MIT和Havard實(shí)現(xiàn),即RFC114在隨后的十幾年中,F(xiàn)TP協(xié)議 的官方文檔歷經(jīng)數(shù)次修訂,直到1985年,一個(gè)作用至今的FTP官方文檔 RFC959可世。如今所有關(guān)于FTP的研究與應(yīng)用都是基于該文檔的。FTP服務(wù)有 一個(gè)重要的特點(diǎn)就是其實(shí)現(xiàn)并不局限于某個(gè)平臺(tái),在Windows, DOS, UNIX平臺(tái)下均可搭建FTP客戶端及服務(wù)器并實(shí)現(xiàn)互聯(lián)互通。自FTP協(xié)議的第一個(gè)RFC版本發(fā)布以來(lái),歷經(jīng)數(shù)十年的發(fā)展,海內(nèi)外涌現(xiàn)出來(lái)眾多優(yōu)秀的支持FTP
14、協(xié)議的軟件。國(guó)外的軟件有:Serv-U , F1ashFXP , CuteFTP等;國(guó)內(nèi)的軟件有:迅雷、 網(wǎng)絡(luò)螞蟻、ChinaFTP等。其中國(guó)外的軟件大部分需要 付費(fèi)使用,國(guó)內(nèi)幾乎沒(méi)有 FTP開(kāi)源軟件,軟件質(zhì)量參差不齊,難以保證安全性。雖然目前大部分操作系統(tǒng)都自帶FTP功能,但是自帶的FTP功能都是基于命令行進(jìn) 行操作,這就需要 用戶熟記相關(guān)操作指令,不夠人性化,用戶使用起來(lái)相當(dāng)不便,所以很有必要設(shè)計(jì)一個(gè)開(kāi)源的、功能完善的、具有友好人機(jī)交互界面的FTP文件傳輸系統(tǒng)。1.3課程設(shè)計(jì)主要研究?jī)?nèi)容和架構(gòu)本課題是在Visual Studio 2013開(kāi)發(fā)環(huán)境下開(kāi)發(fā)FTP客戶端以及服務(wù)器。基 于.net
15、平臺(tái)和標(biāo)準(zhǔn)FTP協(xié)議開(kāi)發(fā),主要涉及到多線程網(wǎng)絡(luò)編程的諸多技術(shù),比 如網(wǎng)絡(luò)I/O,線程同步等技術(shù)。本課題設(shè)計(jì)的FTP客戶端有其特色功能:支持文件傳輸,同時(shí)具備良好的人機(jī)交互界面;設(shè)計(jì)的FTP服務(wù)器采用了多線程技術(shù), 使得服務(wù)器能夠從容應(yīng)對(duì)高并發(fā)訪問(wèn)。本課題主要工作是在.net環(huán)境下開(kāi)發(fā)網(wǎng)絡(luò)應(yīng)用程序,在開(kāi)發(fā) 的過(guò)程中所做 的工作如下:(1) 熟悉計(jì)算機(jī)網(wǎng)絡(luò),TCP/IP模型以及FTP標(biāo)準(zhǔn)協(xié)議。(2) 熟悉Visual Studio2013開(kāi)發(fā)工具和C#編程語(yǔ)言。(3) 研究FtpWebRequest FtpWebResponse類,熟練掌握編寫網(wǎng)絡(luò)應(yīng)用程序 的方法。(4) 研究基于流的I/O操作模
16、式和多線程編程技術(shù)并將其應(yīng)用于所開(kāi)發(fā)的程 序。(5) 設(shè)計(jì)并實(shí)現(xiàn)FTP客戶端/服務(wù)器,實(shí)現(xiàn)了預(yù)期的功能,解決了高并發(fā)訪問(wèn)的問(wèn)題第二章需求分析2.1需求分析作為一個(gè)實(shí)用的FTP系統(tǒng),基本功能必不可少,包括用戶登 錄以及用戶信 息驗(yàn)證,此外最重要就是文件上傳與下載。用戶在使用FTP客戶端時(shí),可以選擇主動(dòng)模式或者被動(dòng)模式連接服務(wù)器??梢赃x擇驗(yàn)證用戶名與密碼或者匿名登陸。服務(wù)器會(huì)驗(yàn)證用戶名與密碼,判斷用戶能否登上服務(wù)器,劃分用戶的權(quán)限。這樣可以保障安全性。用戶使用FTP客戶端程序主要為訪問(wèn)服務(wù)器,獲取或者上傳服務(wù)器文件。 本文FTP系統(tǒng)采用C/S模式完成文件上傳與下載,服務(wù)器與客戶端分別完成數(shù) 據(jù)連接
17、時(shí)的信息發(fā)送與響應(yīng)返回功能,兩者配合使用,使得FTP系統(tǒng)具有較強(qiáng)的實(shí)用性。2.2功能列表表2-1功能列表功能分組功能名功能簡(jiǎn)要說(shuō)明登錄與注銷登錄服務(wù)器要核對(duì)用戶名和密碼,判斷是否為匿名用戶,顯示不 同功能模塊退出服務(wù)器與服務(wù)器斷開(kāi)連接,功能模塊不可用模式選擇選擇連接模式使用主動(dòng)連接模式或者被動(dòng)連接模式選擇傳輸類型選擇Bin ary或者ASCII數(shù)據(jù)傳輸類型目錄管理顯示列表將服務(wù)器的文件資源顯示在列表中跳轉(zhuǎn)目錄輸入路徑改變當(dāng)前目錄新建目錄在服務(wù)器端新建文件夾,需要用戶實(shí)名登陸重命名文件夾將服務(wù)器文件夾重命名,需要用戶實(shí)名登陸文件管理上傳文件將本地文件上傳至服務(wù)器,需要用戶實(shí)名登陸下載文件將服務(wù)器
18、文件下載至本地刪除文件將服務(wù)器文件從服務(wù) 器刪除,需要用戶實(shí)名登陸重命名文件將服務(wù)器文件重命名,需要用戶實(shí)名登陸2.3系統(tǒng)權(quán)限普通用戶登陸后擁有所有功能。匿名用戶匿名登陸后只擁有下載功能以及目錄跳轉(zhuǎn)要求第三章技術(shù)方案3.1 .NET架構(gòu)平臺(tái).NET 是 Microsoft XML Web services 平臺(tái),XML Web services 的應(yīng)用程序 是通過(guò)In ternet進(jìn)行通訊和共享數(shù)據(jù),而與操作系統(tǒng)、設(shè)備和編程語(yǔ)言無(wú)關(guān)。Microsoft .NET平臺(tái)也正提供了創(chuàng)建 XML Web services功能并將相關(guān)服務(wù)集成 在一起,使用戶可無(wú)縫地使用。3.1.1 .NET的體系結(jié)構(gòu)A
19、SP.NET三部分組成,其框架由公共語(yǔ)言運(yùn)行時(shí)(CLR)、共享對(duì)象類庫(kù), 體系架構(gòu)如圖3-1所示。操作系統(tǒng)圖3-1 .NET框架組成圖公共語(yǔ)言運(yùn)行時(shí)(Common Lan guage Run time, CLR)是架構(gòu)在操作系統(tǒng)服務(wù) 之上的,是所有.NET程序語(yǔ)言公用的運(yùn)行時(shí)期組件。它是負(fù)責(zé)應(yīng)用程序的實(shí)際 執(zhí)行,滿足所有應(yīng)用程序的需求,如果要執(zhí)行任一程序語(yǔ)言開(kāi)發(fā)出的程序,就必須安裝該程序語(yǔ)言的運(yùn)行時(shí)期組件,因?yàn)樗嗽撜Z(yǔ)言程序的核心功能,如函數(shù)和對(duì)象等。共享對(duì)象類集成了不同程序語(yǔ)言的對(duì)象庫(kù),成為所有程序共享的對(duì)象庫(kù),其中包括 Web類(ASP. NET )、數(shù)據(jù)類(ADO. NET) , X
20、ML類、繪圖類、系統(tǒng)類、 Windows窗體類等,它既是.NET應(yīng)用軟件開(kāi)發(fā)的基礎(chǔ)類庫(kù),也是.NET平臺(tái)本 身 的實(shí)現(xiàn)基礎(chǔ),其中.NET類庫(kù)的組織是以命名空間為基 礎(chǔ)的,最頂層的名字空 間 為 System。ASP. NET是共享對(duì)象類庫(kù)中的一員,它提供了一個(gè)Web應(yīng)用程序模型,其中該模型提供了一些 Web窗體、控件及基礎(chǔ)架構(gòu),該模型的作用能讓程序設(shè)計(jì)者可輕松地建立 Wet應(yīng)用程序;它提供了一些對(duì)應(yīng) HTML元素的HTMI控件以及功 能更強(qiáng)的Web控件,這些控件在服務(wù)器端執(zhí)行,然后在客戶端的瀏覽器以HTML的方式顯示。3.1.2 .NET框架的特色1、透過(guò)因特網(wǎng)的標(biāo)準(zhǔn)做整合。以 XML (ex
21、tensibleMarkup Language,延伸標(biāo)注語(yǔ)言)及SOAP (Simple Object Access Protocol ,簡(jiǎn)單對(duì)象存取協(xié)議) 等標(biāo)準(zhǔn)通訊協(xié)議,將各種由不同環(huán)境所組成的應(yīng)用程序及組件整合在一起工作。2、松散的整合組件?,F(xiàn)階段,要建立多層且功能可擴(kuò)充的系統(tǒng),其架構(gòu) 非常復(fù)雜,而且工具很少,而.NET Framework不需要很嚴(yán)謹(jǐn)?shù)亩x每個(gè)組件的 結(jié)構(gòu)即可很輕松的整合,提高程序的擴(kuò)展性。3、支持多種程序語(yǔ)言。許多程序設(shè)計(jì)者會(huì)使用多種語(yǔ)言來(lái)開(kāi)發(fā)他們的解決方案,這是因?yàn)槊糠N語(yǔ)言都有它的長(zhǎng)處,.NET Framework把這些語(yǔ)言整合起來(lái),可以讓開(kāi)發(fā)人員使用不同的程序語(yǔ)言
22、來(lái)開(kāi)發(fā)解決方案:4、提高程序的開(kāi)發(fā)效率。利用.NET框架的自動(dòng)內(nèi)存管理,以及豐富的 控件等特色,可使程序設(shè)計(jì)人員減少寫程序會(huì)發(fā)生的問(wèn)題,專心于撰寫企業(yè)處理數(shù)據(jù)的規(guī)則,從而,縮短項(xiàng)目的開(kāi)發(fā)時(shí)間。5、 完善的數(shù)據(jù)安全。目前因特網(wǎng)最受大家注目的是它的安全性,.NET Framework在設(shè)計(jì)安全模型時(shí)將所有的數(shù)據(jù)與程序代碼做完善的安全防護(hù)。6、 可用操作系統(tǒng)的服務(wù)。Windows提供了比其它作業(yè)平臺(tái)更豐富的服務(wù) 及資源,.NETFramework將這些操作系統(tǒng)所提供的功 能包裝起來(lái),以更簡(jiǎn)單 的方式提供給程序設(shè)計(jì)者使用。3.2開(kāi)發(fā)工具3.2.1 Visual StudioMicrosoft Visu
23、al Studio (簡(jiǎn)稱VS)是美國(guó)微軟公司的開(kāi)發(fā)工具包系列產(chǎn)品。VS是一個(gè)基本完整的開(kāi)發(fā)工具集,它包括了整個(gè)軟件生命周期中所需要的大部 分工具,如UMLX具、代碼管控工具、集成開(kāi)發(fā)環(huán)境(IDE)等等。所寫的目標(biāo) 代 碼適用于微軟支持的所有平臺(tái),包括 MicrosoftWindows、WindowsMobile、Windows CE、.NETFramework、.NET Compact Framework 和 Microsoft Silverlight 及 Windows Phona Visual Studio 是目前最流行的 Windows 平臺(tái)應(yīng)用程序的集成開(kāi)發(fā)環(huán)境。最新版本為Visua
24、l Studio 2017版本,基于.NET Framework 4.5.2。第四章總體設(shè)計(jì)4.1系統(tǒng)體系結(jié)構(gòu)模型開(kāi)發(fā)FTP服務(wù)器/客戶端軟件必須遵循FTP的工作模式,F(xiàn)TP獨(dú)特的優(yōu)勢(shì)在 于它在兩臺(tái)通信主機(jī)之間使用了兩條 TCP連接,一條用于數(shù)據(jù)傳送,一條用于控制信息的傳送。這種將命令和數(shù)據(jù)分開(kāi)傳送的思想大大提高FTP工作的效率。圖4-1給出本系統(tǒng)的體系結(jié)構(gòu)模型。圖4-1 FTP體系結(jié)構(gòu)模型客戶端與服務(wù)器建立連接是典型的“三次握手”,過(guò)程如下:客戶端發(fā)送請(qǐng)求與服務(wù)器控制連接的協(xié)議包;服務(wù)器同意建立連接,發(fā)送應(yīng)答;最后,客戶端 向服務(wù)器發(fā)送確認(rèn),至此,連接建立。與此同時(shí),F(xiàn)TP要求客戶向服務(wù)器提
25、供用戶名和口令,一旦連接成功一個(gè)或多個(gè)文本或圖像二進(jìn)制文件都能被安全傳送,在整個(gè)交互過(guò)程中,控制連接始終處于連接狀態(tài),數(shù)據(jù)連接在每一次文件傳送時(shí)先打開(kāi)后關(guān)閉,F(xiàn)TP依靠可靠傳輸協(xié)議TCP不必?fù)?dān)心可靠性和連接的管 理。4.2 FTP系統(tǒng)模型FTP ( File Transfer Protocol)文件傳送協(xié)議,位于 OSI體系中的應(yīng)用層, 是一個(gè)用于從一臺(tái)主機(jī)向另一臺(tái)主機(jī)傳送文件的協(xié)議,基于C/S架構(gòu)。用戶通過(guò)FTP客戶端連接到在某個(gè)遠(yuǎn)程主機(jī)上的 FTP服務(wù)器。用戶通過(guò)FTP客戶端向服務(wù) 器程發(fā)送指令,服務(wù)器根據(jù)指令的內(nèi)容執(zhí)行相關(guān)操作,最后將結(jié)果返回給 客戶端例如,用戶向FTP服務(wù)器發(fā)送文件下載
26、命令,服務(wù)器收到該命令后 將指定文件傳送給客戶端,并將執(zhí)行結(jié)果返回給客戶端。FTP系統(tǒng)和其他C/S系統(tǒng)的不同之處在于它在 客戶端和服務(wù)器之間同 時(shí)建 立了兩條連接來(lái)實(shí)現(xiàn)文件的傳輸,分別是控制連接和數(shù)據(jù)連接??刂七B接用于客戶端和服務(wù)器之間的命令和響應(yīng)的傳遞;數(shù)據(jù)連接則用于傳送數(shù)據(jù)信息。當(dāng)用戶通過(guò)FTP客戶端向服務(wù)器發(fā)起一個(gè)會(huì)話的時(shí)候,客戶端會(huì)通過(guò)熟知 端口 21與FTP服務(wù)器建立一個(gè) TCP連接,即控制連接??蛻舳耸褂么诉B接向 FTP服務(wù)器發(fā)送所有 FTP命令并讀取所有應(yīng)答。而對(duì)于大 批量的數(shù)據(jù),如數(shù)據(jù) 文件或詳細(xì)目錄列表,F(xiàn)TP系統(tǒng)會(huì)建立一個(gè)獨(dú)立的數(shù)據(jù)連 接去傳送相關(guān)數(shù)據(jù)。 以主動(dòng)傳輸方式為例
27、,客戶端使用PORT命令向服務(wù)器發(fā)送地址和端口,服務(wù)器圖4-2 FTP工作模型示意圖4.3系統(tǒng)工作流程設(shè)計(jì)FTP客戶端的工作流程設(shè)計(jì)如下:(1) 用戶輸入用戶名和密碼進(jìn)行登錄操作。(2) 連接FTP服務(wù)器成功后發(fā)送PORTE PASV命令選擇傳輸模式,處理 TYPE命令確定數(shù)據(jù)傳輸方式。(3) 發(fā)送LIST命令通知服務(wù)器將目錄列表 發(fā)送給客戶端。(4) 服務(wù)器通過(guò)數(shù)據(jù)通道將遠(yuǎn)程目錄信息發(fā)送給客戶端,客戶端對(duì)其進(jìn)行解 析并顯示到對(duì)應(yīng)的服務(wù)器目錄列表框中。(5) 通過(guò)控制連接發(fā)送相應(yīng)的命令進(jìn)行文件的下載和上傳、目錄的下載和上 傳以及目錄的新建或刪除等操作。(6) 啟動(dòng)下載或上傳線程執(zhí)行文件的下載和
28、上傳任務(wù)(7) 使用結(jié)束,斷開(kāi)與FTP服務(wù)器的連接。4.4系統(tǒng)功能模塊介紹按照需求分析中的功能列表,以及對(duì)每個(gè)模塊的功能分析,可以整理得出 系統(tǒng)的功能模塊總體結(jié)構(gòu)如圖4-4所示:FTP系 統(tǒng)上傳文件刪 除 文 件rH重命名新 建 目 錄選擇數(shù)據(jù)類型登陸與注銷-L-退出服務(wù)器跳 轉(zhuǎn) 目 錄刪 除 目 錄目錄管理顯示目錄重命名目錄圖4-4系統(tǒng)功能模塊總體結(jié)構(gòu)圖4.2.1登陸與注銷登陸時(shí),用戶可以選擇實(shí)名登陸或者匿名登陸。不同的登陸方式將顯示不同的功能界面,從而達(dá)到動(dòng)態(tài)的賦予用戶不同的權(quán)限,增加了服務(wù)器的安全 性。實(shí) 名用戶可以使用FTP服務(wù)器的所有功能。匿名用戶只能下載服務(wù)器上的文件。注銷將斷開(kāi)客
29、戶端與服務(wù)器的連接,使所有的功能不可用。422模式選擇用戶可以選擇主動(dòng)連接方式或者被動(dòng)連接方式與服務(wù)器進(jìn)行連接。主動(dòng)模 式下客戶端高位端口與服務(wù)器低位端口連接,被動(dòng)模式下客戶端高位端口與服務(wù)器高位端口連接。數(shù)據(jù)傳輸方式可以選擇Binary格式或者ASCII格式。4.2.3文件管理文件管理模塊是系統(tǒng)的主要模塊,是用戶在客戶端進(jìn)行的主要活動(dòng),也是所有FTP系統(tǒng)的基本模塊。文件管理中包括上傳文件、下載文件、重命名文件、刪除文件,其中上傳文件、重命名文件和刪除文件需要用戶實(shí)名登陸才可以 使用。4.2.4目錄管理用戶每次對(duì)ftp服務(wù)器上的文件進(jìn)行一次操作后, 客戶端都會(huì)刷新一次列 表, 顯示最新的目錄列
30、表。目錄管理中包括顯示列表、跳轉(zhuǎn)目錄、刪除目錄、重命名目錄,其中刪除目錄和重命名目錄需要用戶實(shí)名登陸才可以使用。第五章詳細(xì)設(shè)計(jì)FTP客戶端實(shí)現(xiàn)的主要功能分為三類:登錄與注銷、文件管理、目錄管理5.1登陸與注銷客戶端首先通過(guò)NetworkCredential類實(shí)例化對(duì)象,通過(guò)它我們可以在網(wǎng) 絡(luò)中提供一個(gè)憑證,只有獲得該憑證的用戶才能訪問(wèn)相應(yīng)的服務(wù)的權(quán)限???戶 端向服務(wù)器發(fā)送“ USER命令,服務(wù)器調(diào)用CommandUser(函數(shù)檢查用戶名命 令是否正確。該命令正確后,服務(wù)器端向客戶端發(fā)送響應(yīng)代碼,進(jìn)入下一步,即檢驗(yàn)密碼??蛻舳讼蚍?wù)器發(fā)送“ PASS命令,服務(wù)器調(diào)用CommandPasswor
31、d函數(shù)獲得相應(yīng)的用戶密碼,進(jìn)入 TryGetValue()函數(shù),檢驗(yàn) 用戶名和密碼是否正確。如果用戶名、密碼均正確,發(fā)送響應(yīng)代碼“ 230 User成功登陸”;女果密碼錯(cuò)誤,發(fā)送響應(yīng)代碼“ 530密碼錯(cuò)誤”;女果用戶名或者 密碼其中一個(gè)錯(cuò)誤,則發(fā)送響應(yīng)代碼“ 530用戶名或密碼錯(cuò)誤”;否則則發(fā)送響 應(yīng)代碼“ 501 PASS命令語(yǔ)法錯(cuò)誤”??蛻舳说淖N功能則更容易實(shí)現(xiàn)??蛻舳送ㄟ^(guò)命令通道向服務(wù)器發(fā)送“QUIT命令,服務(wù)器響應(yīng)該命令,調(diào)用Close()函數(shù),關(guān)閉TCP連接并釋放與其關(guān)聯(lián)的所有資源。如圖5-2所示5.2文件管理文件管理是FTP系統(tǒng)中最重要的功能之一,它分為文件下載、文件上傳、 文件
32、重命名和文件刪除。5.2.1文件下載文件下載的原理就是在本地新建同名文件并在數(shù)據(jù)通道接收數(shù)據(jù),然后將 數(shù)據(jù)寫入文件。客戶端文件下載的過(guò)程介紹如下:選中需下載的文件,點(diǎn)擊下載按鈕觸發(fā)btndownload_Click()消息響應(yīng)函數(shù),在消息響應(yīng)函數(shù)里客戶端通過(guò) FtpWebRequest類實(shí)例化對(duì)象,調(diào)用 CreateFtpWebRequest()函數(shù)向服務(wù)器發(fā)送請(qǐng)求,發(fā)送“ RETR命令,服務(wù)器調(diào) 用CommandRETR()函數(shù)發(fā)送響應(yīng)代碼“150”到客戶端,表示服務(wù)器文件狀態(tài) 良好,將要打開(kāi)數(shù)據(jù)連接傳輸文件。客戶端通過(guò)FtpWebRespo nse類實(shí)例化對(duì)象,調(diào)用GetFtpRespon
33、se ()函數(shù)獲取服務(wù)器響應(yīng)信息,讀取 response對(duì)象的狀態(tài) 碼和狀態(tài)描述信息。在數(shù)據(jù)通道打開(kāi)后,多次調(diào)用文件流函數(shù)在數(shù)據(jù)通道接收數(shù)據(jù)。之所以要多次接收數(shù)據(jù)是因?yàn)槲募⒉皇且淮涡詡鬏斶^(guò)來(lái)的,而是每次 接收8196比特的數(shù)據(jù)。客戶端每次從 數(shù)據(jù)通道獲取一部分?jǐn)?shù)據(jù)并將其追寫到己創(chuàng)建的522文件上傳文件上傳的原理是讀取本地文件數(shù)據(jù),將數(shù)據(jù)通過(guò)數(shù)據(jù)通道發(fā)送給服務(wù)器,服務(wù)器再將數(shù)據(jù)寫入遠(yuǎn)程文件。客戶端文件上傳流程如圖4.7所示。選中需上 傳的文件,點(diǎn)擊上傳按鈕觸發(fā) btnUpload_Click()消息響應(yīng)函數(shù),在消息響應(yīng) 函數(shù)里客戶端通過(guò)FtpWebRequest類實(shí)例化對(duì)象,調(diào)用 Create
34、FtpWebRequest()函數(shù)向 服務(wù)器發(fā)送請(qǐng)求,發(fā)送“ STOR命令,服務(wù)器調(diào)用CommandRETR)函數(shù)發(fā) 送響應(yīng) 代碼“ 150”到客戶端,表示服 務(wù)器文件狀態(tài)良好,將要打開(kāi)數(shù)據(jù)連接傳輸文件??蛻舳送ㄟ^(guò)FtpWebResponse類實(shí)例化對(duì)象,調(diào)用 GetFtpResponse ()函數(shù)獲取服 務(wù)器響應(yīng)信息,讀取response對(duì)象的狀態(tài)碼和狀態(tài)描述信息。在數(shù) 據(jù)通道打開(kāi)后, 多次調(diào)用文件流函數(shù)在數(shù)據(jù)通道上傳數(shù)據(jù),將本地文件發(fā)送至服務(wù)器,直到讀取文件數(shù)據(jù)為空??蛻舳宋募蟼髁鞒倘鐖D 5-4所示。5.2.3文件重命名客戶端通過(guò)lstbxFtpResources選中需重命名的文件,點(diǎn)擊
35、重命名按鈕觸 發(fā)btn_rename_Click()消息響應(yīng)函數(shù),在消息響應(yīng)函數(shù)里客戶端通過(guò)FtpWebRequest類實(shí)例化對(duì)象,調(diào)用CreateFtpWebRequest()函數(shù)向服務(wù)器發(fā)送 請(qǐng)求,發(fā)送“ RNFR命令,服務(wù)器調(diào)用Comma nd RNFR ()函數(shù)發(fā)送響應(yīng)代碼 “250”到客戶端,表示服務(wù)器文件存 在且接受重命名。發(fā)送“ RNTO命令,服 務(wù)器調(diào)用CommandRNTO()數(shù)發(fā)送響應(yīng)代碼“ 250”到客戶端,表示服務(wù)器文件 已完成重命名??蛻舳送ㄟ^(guò) FtpWebResp on se類實(shí)例化對(duì)象,調(diào)用GetFtpResponse ()函數(shù)獲取服務(wù)器響應(yīng)信息,讀取 respo
36、nse對(duì)象的狀態(tài)碼和 狀態(tài)描述信息,調(diào)用ShowFtpFileAndDirectory() 函數(shù),顯示重命名后的文件信息。524文件刪除客戶端通過(guò)IstbxFtpResources選中需刪除的文件,點(diǎn)擊刪除按鈕觸發(fā) btnDelete_Click ()消息響應(yīng)函數(shù),在消息響應(yīng)函數(shù)里客戶端通過(guò) FtpWebRequest類實(shí)例化對(duì)象,調(diào)用CreateFtpWebRequest()函數(shù)向服務(wù)器發(fā)送 請(qǐng)求,發(fā)送“ DELE命令,服務(wù)器調(diào)用CommandDELE函數(shù)發(fā)送響應(yīng)代碼“250”到客戶端,表示服務(wù)器文件已 刪除??蛻舳送ㄟ^(guò)FtpWebResponse類實(shí) 例化對(duì)象,調(diào)用GetFtpRespon
37、se ()函數(shù)獲取服務(wù)器響應(yīng)信息,讀取 response 對(duì)象的狀態(tài)碼和狀態(tài)描述信息,調(diào)用ShowFtpFileAndDirectory()函數(shù),顯示刪除后的文件信息。5.4目錄管理5.4.1目錄顯示在成功登錄之后,要完成文件的傳輸,首先要獲得客戶端和服務(wù)器指定目 錄的內(nèi)容,然后才能進(jìn)行相應(yīng)文件的上傳或下載??蛻舳送ㄟ^(guò)FtpWebRequest類實(shí)例化對(duì)象,調(diào)用CreateFtpWebRequest()函數(shù)向服務(wù)器發(fā)送請(qǐng)求,發(fā)送“LIST”命令,服務(wù)器調(diào)用CommandLIST()函數(shù)獲取文件目錄列表,開(kāi)啟ASCII數(shù)據(jù)傳輸方式,檢驗(yàn)文件目錄是否正確。該命令正確后,服務(wù)器端向客戶端發(fā)送響應(yīng)代碼
38、以及文件信息??蛻舳送ㄟ^(guò)FtpWebRespo nse類實(shí)例化對(duì)象,調(diào)用GetFtpResponse ()函數(shù)獲取服務(wù)器響應(yīng)信息,讀取 response對(duì)象的狀態(tài) 碼和狀態(tài)描述信息,若出現(xiàn)異常,貝U輸出錯(cuò)誤提示信息;反之,貝U將信息返回 到界面控件lstbxFtpState中。讀取網(wǎng)絡(luò)流數(shù)據(jù),處理并顯示文件目錄列表。通過(guò)返回信息,截取相應(yīng)字符串判斷是否是文件或者文件目錄。如果是文件目 錄,在文件名之前加上“目錄”,以便用戶能夠更清楚的分辨是否是文件或者 文件目錄。循環(huán)設(shè)置文件格式,調(diào)用PadRight()函數(shù)設(shè)置左對(duì)齊,將文件信息返回到界面控件lstbxFtpResources中,用戶便可以看
39、到遠(yuǎn)程服務(wù)器中的文件 目錄。流程圖如圖5-5所示。開(kāi)始客戶端FtpWebRequ類實(shí)客戶端FtpWebRequ類實(shí)例化例化客戶端調(diào)用CreateFtpWebReau函數(shù)向服務(wù)器發(fā)送LIS命令件目錄是正確N顯示信息加上目錄,調(diào)用PadRighti數(shù),對(duì)齊目錄信服務(wù)器調(diào)用CommandLIST數(shù)返回文件目錄信息錄11J是否是文件r調(diào)用PadRigt數(shù),對(duì)齊文件 信息返回異常,提示錯(cuò)誤信 息結(jié)束文件信息返回至ListFtpResource結(jié)束圖5-5FTP客戶端列出遠(yuǎn)程目錄流程圖542目錄切換FTP客戶端目錄切換流程圖如圖4-6所示:圖5-6目錄切換流程圖在成功登錄之后,輸入待切換目錄后,點(diǎn)解跳轉(zhuǎn)按
40、鈕,觸發(fā)btn_goto_Click() 事件??蛻舳送ㄟ^(guò) FtpWebRequest類實(shí)例化對(duì)象,調(diào)用CreateFtpWebRequest()函數(shù)向服務(wù)器發(fā)送請(qǐng)求,發(fā)送“ CWD命令,服務(wù)器調(diào)用CommandCWD()函數(shù)檢驗(yàn)文件跳轉(zhuǎn)目錄是否正確。該 命令正確后,客戶端再 發(fā)送“ LIST”命令至服務(wù)器,服務(wù)器端向客戶端發(fā)送響應(yīng)代碼以及文件信息??蛻舳送ㄟ^(guò) FtpWebResponse類實(shí)例化對(duì)象,調(diào)用 GetFtpResponse ()函數(shù)獲取 服務(wù)器響應(yīng)信息,讀取response對(duì)象的狀態(tài)碼和狀態(tài)描述信息,若出現(xiàn)異常, 則輸出錯(cuò)誤提示信息;反之調(diào)用ShowFtpFileA ndDire
41、ctory()函數(shù),顯示切換目錄文件信息。543目錄添加在成功登錄之后,輸入待添加目錄后,點(diǎn)解目錄創(chuàng)建按鈕,觸發(fā) btn_create_Click ()事件??蛻舳送ㄟ^(guò)FtpWebRequest類實(shí)例化對(duì)象,調(diào)用 CreateFtpWebRequest()函數(shù)向服務(wù)器發(fā)送請(qǐng)求,發(fā)送“ MKD命令,服務(wù)器調(diào) 用CommandMKD()函數(shù)添加文件目錄。該命令正確后,客戶端再發(fā)送“ LIST”命令至服務(wù)器,服務(wù)器端向客戶端發(fā)送響應(yīng)代碼以及文件信息。客戶端通過(guò) FtpWebResponse類實(shí)例化對(duì)象,調(diào)用GetFtpResponse ()函數(shù)獲取服務(wù)器響應(yīng) 信息,讀取response對(duì)象的狀態(tài)碼和
42、狀態(tài)描述信息,若出現(xiàn)異常,則輸出錯(cuò)誤 提示信息;反之調(diào)用ShowFtpFileA ndDirectory() 函數(shù),顯示添加后的目錄文 件信息。流程圖如圖5-7所示。圖5-7目錄添加流程圖544目錄重命名客戶端通過(guò)IstbxFtpResources選中需重命名的目錄,點(diǎn)擊重命名按鈕觸 發(fā)btn_rename_CIick()消息響應(yīng)函數(shù),在消息響應(yīng)函數(shù)里客戶端通過(guò)FtpWebRequest類實(shí)例化對(duì)象,調(diào)用CreateFtpWebRequest()函數(shù)向服務(wù)器發(fā)送 請(qǐng)求,發(fā)送“ RNFR命令,服務(wù)器調(diào)用Comma nd RNFR ()函數(shù)發(fā)送響應(yīng)代碼 “250”到客戶端,表示服務(wù)器文件存 在且接
43、受重命名。發(fā)送“ RNTO命令,服 務(wù)器調(diào)用CommandRNTO)數(shù)發(fā)送響應(yīng)代碼“ 250”到客戶端,表示服務(wù)器文件 已完成重命名??蛻舳送ㄟ^(guò) FtpWebResp on se類實(shí)例化對(duì)象,調(diào)用GetFtpResponse ()函數(shù)獲取服務(wù)器響應(yīng)信息,讀取 response對(duì)象的狀態(tài)碼和 狀態(tài)描述信息,調(diào)用ShowFtpFileAndDirectory() 函數(shù),顯示重命名后的目錄 信息。5.4.5目錄刪除客戶端通過(guò)lstbxFtpResources選中需刪除的文件,點(diǎn)擊刪除按鈕觸發(fā) btnDelete_Click ()消息響應(yīng)函數(shù),在消息響應(yīng)函數(shù)里客戶端通過(guò)FtpWebRequest類實(shí)例
44、化對(duì)象,調(diào)用CreateFtpWebRequest()函數(shù)向服務(wù)器發(fā)送 請(qǐng)求,發(fā)送“ DELE命令,服務(wù)器調(diào)用CommandDELE函數(shù)發(fā)送響應(yīng)代碼“250”到客戶端,表示服務(wù)器文件已 刪除??蛻舳送ㄟ^(guò)FtpWebResponse類實(shí) 例化對(duì)象,調(diào)用GetFtpResponse ()函數(shù)獲取服務(wù)器響應(yīng)信息,讀取 response 對(duì)象的狀態(tài)碼和狀態(tài)描述信息,調(diào)用ShowFtpFileAndDirectory() 函數(shù),顯示 刪除后的目錄信息。第六章軟件測(cè)試軟件產(chǎn)品的最終目的是為了滿足客戶需求,我們以客戶需求作為評(píng)判軟件質(zhì) 量的標(biāo)準(zhǔn),并給出了軟件缺陷的具體含 義:軟件未達(dá)到客戶需求的功能和性能;
45、軟 件超出了客戶需求的范圍;軟件中出現(xiàn)了客戶需求不能容忍的錯(cuò)誤;軟件的使用 未能符合客戶的習(xí)慣和工作環(huán)境。軟件測(cè)試是假定存在軟件缺陷,因而想通過(guò)檢測(cè)來(lái)發(fā)現(xiàn)盡可能多的軟件缺陷過(guò)程。軟件測(cè)試基于下面三個(gè)理念:測(cè)試是為了發(fā)現(xiàn)軟件中的缺陷而執(zhí)行軟件的過(guò)程;好的測(cè)試方案是盡可能發(fā)現(xiàn)迄今為止尚未發(fā) 現(xiàn)的缺陷的測(cè)試方案;成功的測(cè)試是發(fā) 現(xiàn)了迄今為止尚未發(fā)現(xiàn)的缺陷。而軟件測(cè) 試的關(guān)鍵是測(cè)試用例的設(shè)計(jì),測(cè)試用例測(cè)試是測(cè)試的重要環(huán)節(jié),設(shè)計(jì)測(cè)試用例的 目標(biāo)是選用少量高效的數(shù)據(jù)(測(cè)試用例)盡可能多地發(fā)現(xiàn)軟件中的問(wèn)題。設(shè)計(jì) 方 法可以分成兩類:白盒測(cè)試和黑盒測(cè)試。白盒測(cè)試:把程序看成是裝在一只透明 的盒子里,測(cè)試者完全
46、了解程序的結(jié) 構(gòu)和處理過(guò)程。白盒測(cè)試的具體方法主要是邏輯覆蓋 ,由于覆蓋的程度不同,邏 輯覆蓋從弱到強(qiáng)又分為語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、條件組合覆蓋和路徑覆蓋等。黑盒測(cè)試:把程序看成是裝在一只不透 明的盒子里,測(cè)試者完全不了解程序 的結(jié)構(gòu)和處理過(guò)程。黑盒測(cè)試根據(jù)規(guī)格說(shuō)明書(shū)規(guī)定的功能來(lái)設(shè)計(jì)測(cè)試用例,檢査程序的功能是否符合規(guī)格說(shuō)明的要求。黑盒測(cè)試具體有等價(jià)類劃分、邊界值分析、錯(cuò)誤推測(cè)和因果圖等方法。6.1測(cè)試方法本次測(cè)試為功能測(cè)試。功能測(cè)試:即黑盒測(cè)試,測(cè)試人員在了解被測(cè)試目標(biāo)的功能規(guī)格、高層設(shè) 計(jì)和操作規(guī)范的基礎(chǔ)上,測(cè)試被測(cè)試系統(tǒng)的可用性。6.2測(cè)試用例F面以部分功能為例,列出部分功能所編寫的
47、測(cè)試用例,如下表6-1所示表6-1功能測(cè)試用例 表輸入/動(dòng)作期望結(jié)果實(shí)際情況通過(guò)/失敗登陸輸入錯(cuò)誤的服務(wù)器地址客戶端顯示連接錯(cuò)誤地址客戶端顯示連接 錯(cuò)誤地址通過(guò)登陸輸入正確的用戶名、錯(cuò) 誤的密碼服務(wù)器返回密碼錯(cuò)誤服務(wù)器返回密碼 錯(cuò)誤通過(guò)跳轉(zhuǎn)輸入正確的文件路徑成功跳轉(zhuǎn)到路 徑成功跳轉(zhuǎn)到路徑通過(guò)跳轉(zhuǎn)輸入錯(cuò)誤的文件路徑客戶端彈出窗 口提示文件不 存在客戶端彈出窗口 提示文件不存在通過(guò)下載下載不存在的服務(wù)器文 件顯示文件不存在并刷新目錄顯示文件不存在 并刷新目錄通過(guò)下載下載存在的服務(wù)器文件下載文件至本 地并顯示成功 下載下載文件至本地 并顯示成功下載通過(guò)重命名重命名文件,文件名已 存在客戶端提示文件名
48、已存在客戶端提示文件 名已存在通過(guò)重命名重命名文件,文件名不重復(fù)成功重命名并刷新目錄成功重命名并刷 新目錄通過(guò)上傳上傳不存在本地文件至 服務(wù)器客戶端彈出窗 口顯示文件不 存在客戶端彈出窗口 顯示文件不存在通過(guò)上傳上傳存在本地文件至服 務(wù)器,文件名不重復(fù)客戶端顯示上 傳成功,并刷 新目錄客戶端顯示上傳 成功,并刷新目 錄通過(guò)6.3測(cè)試過(guò)程及結(jié)果根據(jù)需求分析,F(xiàn)TP系統(tǒng)需要達(dá)到的功能為1. 登陸與注銷2. 模式選擇3. 目錄管理4. 文件管理對(duì)各項(xiàng)功能的詳細(xì)測(cè)試情況如下表6-2所示表6-2詳細(xì)測(cè)試測(cè)試模塊測(cè)試功能測(cè)試結(jié)果登錄與注銷登錄服務(wù)器通過(guò)退出服務(wù)器通過(guò)模式選擇選擇連接模式通過(guò)選擇傳輸類型通過(guò)
49、目錄管理顯示列表通過(guò)跳轉(zhuǎn)目錄通過(guò)新建目錄通過(guò)重命名文件夾通過(guò)文件管理上傳文件通過(guò)下載文件通過(guò)刪除文件通過(guò)重命名文件通過(guò)登錄與注銷登錄服務(wù)器通過(guò)退出服務(wù)器通過(guò)模式選擇選擇連接模式通過(guò)第七章總結(jié)在當(dāng)前的信息技術(shù)和網(wǎng)絡(luò)技術(shù)迅速發(fā)展的今天,F(xiàn)TP協(xié)議在網(wǎng)絡(luò)傳輸中充 當(dāng)著重要的角色,它也是目前網(wǎng)絡(luò)傳輸信息的主要工具。只要對(duì)于FTP進(jìn)行合 理有效的使用,那么就可以使得每一個(gè)FTP站點(diǎn)的各種資源得到很好共享和 利 用。另外企業(yè)在進(jìn)步和發(fā)展過(guò)程中,F(xiàn)TP協(xié)議在網(wǎng)絡(luò)傳輸以及信息傳遞過(guò)程中,不僅具有很高的傳輸速度,同時(shí)也具有很好的安全可靠性,因此使用和開(kāi)發(fā)FTP協(xié)議是一種趨勢(shì),同時(shí)也具有很高的應(yīng)用價(jià)值。伴隨 著科
50、學(xué)技術(shù)的不斷發(fā) 展,基于 FTP協(xié)議之下的網(wǎng)絡(luò)傳輸也將會(huì)得到更好的創(chuàng)新與發(fā)展,其在網(wǎng)絡(luò)安全和傳輸中也將發(fā)揮著越來(lái)越重要的作用。在.NET平臺(tái)下,利用基礎(chǔ)類庫(kù),進(jìn)行二次封裝,實(shí)現(xiàn)了 FTP客戶端和服務(wù) 器軟件。實(shí)現(xiàn)過(guò)程中也遇到了一些問(wèn)題,經(jīng)過(guò)思考總結(jié)了以下注意點(diǎn):要詳細(xì)了解NET平臺(tái)FtpWebRequest和FtpWebResponse類的成員及方 法,在實(shí)現(xiàn)過(guò)程中,Method的方法起到了至關(guān)重要的作用,使開(kāi)發(fā)變得便捷。(2) 開(kāi)發(fā)網(wǎng)絡(luò)程序要注意異常的捕獲,由于網(wǎng)絡(luò)經(jīng)常不穩(wěn)定,導(dǎo)致服務(wù)器不能完全正確地響應(yīng)客戶端的請(qǐng)求和命令,隨時(shí)捕獲異常能使客戶端運(yùn)行起來(lái)更加安全流暢。(3) 在功能實(shí)現(xiàn)的過(guò)程
51、中要注意對(duì)路徑的處理,雖然只是簡(jiǎn)單的字符串操作,但是一旦路徑出現(xiàn)錯(cuò)誤,客戶端就無(wú)法獲得服務(wù)器正確的響應(yīng),便不能實(shí)現(xiàn)預(yù) 期的功能。在In ternet /LAN網(wǎng)絡(luò)環(huán)境下,開(kāi)發(fā)與設(shè)計(jì)了 FTP客戶端/服務(wù)器。實(shí)現(xiàn)了 FTP文件傳輸和操作基本和常用的功能并采用可視化界面,用戶使用簡(jiǎn)單方便。 傳輸文件的形式為文本文件和二進(jìn)制文件??蛻舳伺c服務(wù)器端具有應(yīng)答消息。遵循FTP協(xié)議,完成其連接命令,參數(shù)設(shè)置命令和服務(wù)請(qǐng)求命令。用戶端的命令只需完成最基本的功能,其他的功能作為可選項(xiàng)。采用面向?qū)ο?,消息?qū) 動(dòng) 及多線程等軟件新技術(shù)實(shí)現(xiàn)程序中的功能。同時(shí),實(shí)現(xiàn)的FTP系統(tǒng)還存在一些問(wèn)題,它雖然具備了一些基本的功能
52、,也可以正確運(yùn)行,但是還需要新功能的擴(kuò)展,包括斷點(diǎn)續(xù)傳、服務(wù)器內(nèi)容實(shí)時(shí)更新等,這些功能會(huì)給用戶帶來(lái)更多方便,這也是后續(xù)的研究方向。參考文獻(xiàn)1 顧彤辰 FTP客戶端及服務(wù)器系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)D.南京郵電大學(xué),2016.2 李俊麗基于MFC的FTP客戶端的實(shí)現(xiàn)J.山西電子技術(shù),2016,(02):43-45.3孟祥成.基于.NET的FTP客戶端設(shè)計(jì)與實(shí)現(xiàn)J.4龔俐,毛曉蛟.基于C#勺FT客戶端的實(shí)現(xiàn)J.95+134.詹百靈.基于C#勺FTP客戶端軟件設(shè)計(jì)J. 劉萍,張繼剛,滕桂明.FTP客戶端軟件的實(shí)現(xiàn)軟件導(dǎo)刊,2015,(06):123-124.電腦編程技巧與維護(hù),2010,(24):94-漳州職
53、業(yè)技術(shù)學(xué)院學(xué)報(bào),2009,(02):10-14.J.黑龍江科技信息,2008,(01):63.7謝鵬.FTP客戶端程序的設(shè)計(jì)與應(yīng)用J.科技經(jīng)濟(jì)市場(chǎng),2006,(11):2-3.8曹建剛,楊冬黎,羅鈞,邵國(guó)強(qiáng).FTP客戶端實(shí)現(xiàn)J.佳木斯大學(xué)學(xué)報(bào)(自然科學(xué)版),2006,(01):93-95.9陳金陽(yáng),蔣建中,張良勝.FTP協(xié)議分析及其客戶端程序?qū)崿F(xiàn)J.計(jì)算機(jī)工程與應(yīng)用2005,(32):134-136.10 李大紅.淺析內(nèi)網(wǎng)FTP服務(wù)器的架設(shè)A.湖北省科學(xué)技術(shù)協(xié)會(huì).節(jié)能減排綠色制造智能制造低碳經(jīng)濟(jì)下高技術(shù)制造產(chǎn)業(yè)與智能制造發(fā)展論壇論文集C.湖北省科學(xué)技術(shù)協(xié)會(huì):,2010:4.11 陳倩.嵌入式F
54、TP服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)J.電子元器件應(yīng)用,2010,(03):36-38.12 辛士光.FTP服務(wù)器Serv-U用戶的批量創(chuàng)建J. 硅谷,2009,(09):37.13 陳麗賢.FTP服務(wù)器的架構(gòu)與使用J.實(shí)驗(yàn)科學(xué)與技術(shù),2006,(03):36-38.14 蔡勇.FTP服務(wù)器技術(shù)研究及實(shí)現(xiàn)D.電子科技大學(xué),2005.附錄/創(chuàng)建FTP連接private FtpWebRequestCreateFtpWebRequest(stri ngjri, stri ng requestMethod)FtpWebRequestrequest = (FtpWebRequest)FtpWebRequest.Create(uri);request.Crede ntials= n etworkCrede ntial;request.KeepAlive = true;if(rbtn_bi nary.Checked=true) _request.UseBi nary= true;if(rbt n_ascll.Checked = true) _request.UseBi nary= false;if (rbt
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 投資項(xiàng)目可行性研究與項(xiàng)目評(píng)估
- 農(nóng)業(yè)觀光生態(tài)園
- 三農(nóng)產(chǎn)品物流配送手冊(cè)
- 綠色農(nóng)產(chǎn)品生產(chǎn)技術(shù)推廣與應(yīng)用實(shí)踐方案
- 車聯(lián)網(wǎng)及大數(shù)據(jù)應(yīng)用
- 電商行業(yè)直播帶貨模式創(chuàng)新與發(fā)展方案
- 校園廣播系統(tǒng)投標(biāo)方案
- 針對(duì)公司運(yùn)營(yíng)挑戰(zhàn)的對(duì)策報(bào)告
- 電力設(shè)施節(jié)能減排操作規(guī)程
- 三農(nóng)村公共服務(wù)設(shè)施信息化管理方案
- 作業(yè)層隊(duì)伍建設(shè)重點(diǎn)業(yè)務(wù)課件
- DB31T 685-2019 養(yǎng)老機(jī)構(gòu)設(shè)施與服務(wù)要求
- 二年級(jí)下冊(cè)美術(shù)教案-第5課 美麗的花園|嶺南版
- 人類進(jìn)化史精品課件
- 魯濱遜漂流記讀后感PPT
- 總包單位向門窗單位移交門窗安裝工程工作面交接單
- 設(shè)備供貨安裝方案(通用版)
- 公開(kāi)招聘社區(qū)居委專職工作人員考試筆試、面試題集及相關(guān)知識(shí)(11套試題含答案)
- 《植物生理學(xué)》課件第三章+植物的光合作用
- 中國(guó)藥膳理論與實(shí)踐-藥膳基本理論和技能
- 華東師大版七年級(jí)初一數(shù)學(xué)下冊(cè)全套試卷(單元、期中、期末)
評(píng)論
0/150
提交評(píng)論