文件傳輸系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)_第1頁
文件傳輸系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)_第2頁
文件傳輸系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)_第3頁
文件傳輸系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)_第4頁
文件傳輸系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、-PAGE . z.JISHOUUNIVERSITY專業(yè)課課程論文題 目:文件傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)作 者:學(xué) 號(hào):所屬學(xué)院:信息科學(xué)與工程學(xué)院專業(yè)年級(jí):計(jì)算機(jī)科學(xué)與技術(shù)總 評(píng) 分:完成時(shí)間:-. z.文件傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘 要互聯(lián)網(wǎng)的一大特點(diǎn)是實(shí)現(xiàn)信息共享,文件傳輸是信息共享的十分重要的內(nèi)容之一。隨之出現(xiàn)了許多FTP效勞器來共享一些信息資源,編寫一個(gè)操作簡單,方便的FTP客戶端來下載這些資源受到了人們的極大的歡送。FTP是一種用于在網(wǎng)上傳輸文件的協(xié)議,從原理上說,F(xiàn)TP是一個(gè)客戶/效勞器模式的應(yīng)用協(xié)議。它用兩個(gè)連接來實(shí)現(xiàn):一個(gè)是控制連接,用來連接效勞器和實(shí)現(xiàn)文件操作;一個(gè)是數(shù)據(jù)連接,用來實(shí)

2、現(xiàn)數(shù)據(jù)傳輸。FTP的實(shí)現(xiàn)核心是命令/應(yīng)答模式,F(xiàn)TP客戶端將用戶的所有FTP相關(guān)請(qǐng)求都轉(zhuǎn)化為FTP效勞器可識(shí)別的命令,然后發(fā)送到效勞器,并接收和處理執(zhí)行完畢后效勞器傳回的應(yīng)答。本程序是一個(gè)小型FTP效勞器系統(tǒng),實(shí)現(xiàn)了FTP效勞器所應(yīng)該具備的大多數(shù)功能,包括用戶的登錄,文件的上傳、下載、刪除,選擇數(shù)據(jù)傳輸模式、目錄選擇等,并給出相應(yīng)的提示。通過該程序的開發(fā),根本上實(shí)現(xiàn)了一個(gè)FTP效勞器所應(yīng)該具有的功能,能夠解釋一般的FTP命令,并且符合RFC59規(guī)*。本程序采用VC+6.0作為開發(fā)工具,設(shè)計(jì)步驟采用自頂向下的方法。關(guān)鍵詞:客戶端;效勞器;下載;上傳;FTP-. z.目錄TOC o 1-2 h z

3、 uHYPERLINK l _Toc338973328第一章引言 PAGEREF _Toc338973328 h 1HYPERLINK l _Toc3389733291.1課題背景及意義 PAGEREF _Toc338973329 h 1HYPERLINK l _Toc3389733301.2課題研究現(xiàn)狀 PAGEREF _Toc338973330 h 1HYPERLINK l _Toc3389733311.3研究內(nèi)容 PAGEREF _Toc338973331 h 2HYPERLINK l _Toc338973332第二章FTP協(xié)議與原理 PAGEREF _Toc338973332 h 3H

4、YPERLINK l _Toc3389733332.1 FTP簡介 PAGEREF _Toc338973333 h 3HYPERLINK l _Toc3389733342.2 FTP的工作原理 PAGEREF _Toc338973334 h 3HYPERLINK l _Toc3389733352.3 FTP運(yùn)行原理 PAGEREF _Toc338973335 h 4HYPERLINK l _Toc3389733362.4 FTP文件傳輸連接類型 PAGEREF _Toc338973336 h 4HYPERLINK l _Toc338973337第三章開發(fā)環(huán)境及工具介紹 PAGEREF _Toc

5、338973337 h 6HYPERLINK l _Toc3389733383.1 C語言概述 PAGEREF _Toc338973338 h 6HYPERLINK l _Toc3389733393.2 VC+介紹 PAGEREF _Toc338973339 h 6HYPERLINK l _Toc3389733403.3 VC+6.0集成環(huán)境介紹 PAGEREF _Toc338973340 h 6HYPERLINK l _Toc338973341第四章FTP效勞器需求分析 PAGEREF _Toc338973341 h 8HYPERLINK l _Toc3389733424.1 FTP文件傳輸

6、的需求 PAGEREF _Toc338973342 h 8HYPERLINK l _Toc3389733434.2應(yīng)解決的問題 PAGEREF _Toc338973343 h 9HYPERLINK l _Toc3389733444.3功能分析 PAGEREF _Toc338973344 h 9HYPERLINK l _Toc338973345第五章系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) PAGEREF _Toc338973345 h 10HYPERLINK l _Toc3389733465.1功能要求 PAGEREF _Toc338973346 h 10HYPERLINK l _Toc3389733475.2開發(fā)工具

7、 PAGEREF _Toc338973347 h 10HYPERLINK l _Toc3389733485.3主要功能與實(shí)現(xiàn) PAGEREF _Toc338973348 h 11HYPERLINK l _Toc3389733495.4 菜單欄功能模塊 PAGEREF _Toc338973349 h 11HYPERLINK l _Toc3389733505.5 查看功能模塊 PAGEREF _Toc338973350 h 13HYPERLINK l _Toc338973351第六章系統(tǒng)測(cè)試 PAGEREF _Toc338973351 h 18HYPERLINK l _Toc3389733526.

8、1系統(tǒng)可能出現(xiàn)的問題與缺乏 PAGEREF _Toc338973352 h 18HYPERLINK l _Toc3389733536.2 采用的測(cè)試類型 PAGEREF _Toc338973353 h 18HYPERLINK l _Toc3389733546.3 測(cè)試的過程與結(jié)果分析 PAGEREF _Toc338973354 h 18HYPERLINK l _Toc338973355總結(jié) PAGEREF _Toc338973355 h 20HYPERLINK l _Toc338973356參考文獻(xiàn) PAGEREF _Toc338973356 h 21-. z.第一章引言1.1課題背景及意義現(xiàn)

9、代科技給我們帶了翻天覆地的變化,互聯(lián)網(wǎng)就是這諸多變化之一,而且它無時(shí)不刻包圍著你??梢赃@樣說,21世紀(jì)是互聯(lián)網(wǎng)的世紀(jì)?;ヂ?lián)網(wǎng)是人類科技開展史中成長最快的新鮮事物,從誕生到高度開展僅僅用了二十幾年,而未來的開展前景更是一片光明。每個(gè)人可能已經(jīng)感覺到了它的開展,從大大小小的網(wǎng)絡(luò)公司到各種各樣的網(wǎng)上商店、書店、網(wǎng)吧、網(wǎng)上銀行等,就連電影院也都搬到了網(wǎng)上,你可以足不出戶的欣賞美國大片。早在20世紀(jì)90年代初,internet和world wide web簡稱已經(jīng)被大家熟知。最近幾年internet的開展更是神速,它已經(jīng)深深觸及到我們的生活和工作的方方面面。隨著許多新興技術(shù)在internet中的推廣應(yīng)用

10、,使用它的自身開展更日趨完善,它為用戶也帶來了越來多的實(shí)惠和便利。毫不夸*地說,無論你在世界上的哪個(gè)角落,只要通過互聯(lián)網(wǎng),你就可以同親人朋友、甚至是陌生人相互交流,而且形式多樣。互發(fā)、交換文件、彼此聊天這已經(jīng)很平常了,而現(xiàn)在隨著網(wǎng)絡(luò)、通信技術(shù)的相結(jié)合,已經(jīng)出現(xiàn)了可視、網(wǎng)絡(luò)家電、電子商務(wù)等。網(wǎng)絡(luò)用戶可以通過大大小小的各類或主頁。他們已經(jīng)越來越離不開網(wǎng)絡(luò),而且已經(jīng)把企業(yè)網(wǎng)絡(luò)建立納入了未來企業(yè)開展最重要的環(huán)節(jié)。是互聯(lián)網(wǎng)最大的凝聚力所在,它是一個(gè)巴羅萬象的信息效勞系統(tǒng)。在生活中,以國際互聯(lián)網(wǎng)internet為主要特征的信息根底設(shè)施正在改變?nèi)藗兊纳罘绞?,自選共享已經(jīng)成為人們生活的迫切需要。盡管遠(yuǎn)程登錄

11、telnet提供了訪問遠(yuǎn)程文件的極好方法,但怎么也比不上使用自己計(jì)算機(jī)的文件方便。如果用戶想使用其它計(jì)算上的文件,最理想的方法就是把它c(diǎn)opy到自己的計(jì)算機(jī)中,以便在本地計(jì)算機(jī)上操作。ftp正是完成這項(xiàng)工作的工具,你可以在任意文件傳輸協(xié)議ftp訪問的公共有效的聯(lián)機(jī)數(shù)據(jù)庫或文檔中找到你想要的任何東西。1.2課題研究現(xiàn)狀1971年,第一個(gè)FT的RFC (RFC114 ) 由A. K. Bhushan在1971年提出, 同時(shí)由 MIT與Harvard實(shí)驗(yàn)實(shí)現(xiàn);1972 年,RFC172提供了主機(jī)間文件傳輸?shù)囊粋€(gè)用戶級(jí) 協(xié) 議;1973年2月,在長期討論RFC265,RFC294,RFC354,RFC

12、385 ,RFC4 30后,出現(xiàn)了一個(gè)官方文檔 RFC454 ;1973年8月,出現(xiàn)了一個(gè)修訂后的新官方文檔 RFC542 。確立了FTP的功能 、目標(biāo)和根本模型 。當(dāng)時(shí)數(shù)據(jù)傳輸協(xié)議采用 NCP;1980年,由于底層協(xié)議從NCP 改 變 為 TCP,RFC765 定義了采用 TCP 的 FTP;1985 年,一個(gè)作用持續(xù)至今的官方文檔 RFC959(STD9)出臺(tái)。用FTP傳輸文件,本來用戶事先應(yīng)在遠(yuǎn)方系統(tǒng)注冊(cè),但后來為了便于大家獲取資源,F(xiàn)TP在互聯(lián)網(wǎng)上有一種特殊的也是非常廣泛的應(yīng)用是匿名FTPanonymous FTP).通過Internet,任何用戶可以使用FTP和一個(gè)公用賬號(hào)去獲得一些

13、公用資源。在Internet上目前有許許多多的這種公用計(jì)算機(jī),我們把這種用來做匿名FTP效勞的計(jì)算機(jī)稱作FTP效勞器,對(duì)每一個(gè)連入Internet的用戶,只要知道這些FTP效勞器的地址,就可以與它們連接并獲取上面各種資源。由于FTP操作簡單實(shí)用,開放性強(qiáng),且能充分利用Internet來進(jìn)展信息傳遞與交流,所以目前越來越多的FTP效勞器連入Internet,這樣越來越多的資源就可以通過匿名FTP來獲得。1.3研究內(nèi)容文件傳輸系統(tǒng)是為了滿足龐大的計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)實(shí)現(xiàn)文件共享和數(shù)據(jù)傳輸?shù)男枰O(shè)計(jì)的。本文在VC+語言平臺(tái)上,依據(jù)應(yīng)用層的文件傳輸協(xié)議的根本原理,從切身實(shí)際出發(fā),開發(fā)了一款文件傳輸系統(tǒng)。該

14、系統(tǒng)能登錄效勞器,實(shí)現(xiàn)文件的下載和上傳,以及文件的添加和刪除的相關(guān)操作。在此過程中,首先ftp客戶端將用戶名、密碼和端口發(fā)送到指定ip地址,嘗試與ftp效勞端建立連接;其次,登錄成功后,用戶將要傳輸文件的進(jìn)展編碼,發(fā)送到ftp 效勞器;最后,待數(shù)據(jù)傳輸完畢,ftp客戶端發(fā)出QUIT指令,完畢f(xié)tp連接。通過前期規(guī)劃,中期編寫代碼,后期調(diào)試和測(cè)試程序, 這款模擬器能實(shí)現(xiàn)根本功能,但如果為了滿足商業(yè)化需求,就得我們后期進(jìn)一步優(yōu)化。第二章FTP協(xié)議與原理2.1 FTP簡介FTP是tcp/ip協(xié)議中的協(xié)議之一,是英文File Transfer Protocol的縮寫。該協(xié)議是Inernet文件傳送的根

15、底,它由一系列規(guī)格說明文檔組成,目標(biāo)是提高文件的共享性,提供非直接使用遠(yuǎn)程計(jì)算機(jī),使存儲(chǔ)介質(zhì)對(duì)用戶透明和可靠高效地傳送數(shù)據(jù)。簡單的說,F(xiàn)TP就是完成兩臺(tái)計(jì)算機(jī)之間的拷貝,從遠(yuǎn)程計(jì)算機(jī)拷貝文件至自己的計(jì)算機(jī)上,稱為下載文件。假設(shè)將文件從自己計(jì)算機(jī)中國拷貝至遠(yuǎn)程計(jì)算機(jī)上,則稱之為上傳文件。在Tcp/Ip協(xié)議中,F(xiàn)TP標(biāo)準(zhǔn)命令TCP端口號(hào)為21,Port方式數(shù)據(jù)端口為20.從根本上說,F(xiàn)TP協(xié)議就是在網(wǎng)絡(luò)中各種不同的計(jì)算機(jī)之間按照TCP/IP協(xié)議來傳輸文件。FTP協(xié)議采用客戶機(jī)/效勞器模式,由FTP客戶端程序和FTP效勞器端程序組成。使用時(shí),先啟動(dòng)FTP客戶端程序與遠(yuǎn)程主機(jī)建立連接,然后向遠(yuǎn)程主機(jī)發(fā)

16、出傳輸命令,遠(yuǎn)程主機(jī)在收到命令后就給與響應(yīng),并執(zhí)行正確的命令。但是FTP有一個(gè)根本的限制,那就是如果用戶在*個(gè)主機(jī)上沒有注冊(cè)獲得授權(quán),既沒有用戶名和口令,就不能與該主機(jī)進(jìn)展文件傳輸。但匿名FTP效勞器除外,它能夠使用戶與遠(yuǎn)程主機(jī)建立連接并以匿名身份從遠(yuǎn)程主機(jī)上拷貝文件,而不必是該遠(yuǎn)程主機(jī)的注冊(cè)用戶。用戶使用特殊的用戶名就可有限制的訪問遠(yuǎn)程主機(jī)上公開的文件。限制許多系統(tǒng)要求用戶將地址作為口令,以便更好的對(duì)訪問者進(jìn)展跟蹤。出于平安的目的,大局部匿名FTP主機(jī)一般只允許遠(yuǎn)程用戶下載文件,而不允許上傳文件。另外,匿名FTP主機(jī)還采用了其他一些保護(hù)措施以保護(hù)自己的文件不至于被用戶修改和刪除,并防止計(jì)算機(jī)

17、病毒的侵入。匿名一直是Internet上獲取信息資源的最主要方式,在Internet成千上萬的匿名FTP主機(jī)中存儲(chǔ)著無以計(jì)數(shù)的文件,這些文件包含了各種各樣的信息、數(shù)據(jù)和軟件。人們只要知道特定信息資源的主機(jī)地址,就可以匿名FTP登錄。2.2 FTP的工作原理FTP是TCP/IP的一種具體應(yīng)用,它工作在OSI模型的第七層,TCP模型的第四層上,即應(yīng)用層,使用TCP傳輸而不是UDP,這樣FTP客戶在和效勞器建立連接前就要經(jīng)過一個(gè)被廣為熟知的三次握手的過程,它帶來的意義在于客戶與效勞器直接的連接是可靠的,而且是面向連接,為數(shù)據(jù)的傳輸提供了可靠的保證。采用FTP協(xié)議可使Internet用戶高效的從網(wǎng)上的

18、FTP效勞器下載大信息量的數(shù)據(jù)文件,將遠(yuǎn)程主機(jī)上的文件拷貝到自己的計(jì)算機(jī)上。以到達(dá)資源共享和傳遞信息的目的。由于FTP的使用使得Internet上出現(xiàn)大量為用戶提供下載效勞器。Internet成為了一個(gè)巨型的軟件倉庫。在文件傳輸中還支持?jǐn)帱c(diǎn)續(xù)傳功能,可以大幅度的減小和網(wǎng)絡(luò)帶寬的開銷。2.3 FTP運(yùn)行原理FTP的工作原理與其他許多網(wǎng)絡(luò)實(shí)用程序一樣,也是基于客戶/效勞器模式?;ヂ?lián)網(wǎng)文件傳輸協(xié)議標(biāo)準(zhǔn)是FTC959在說明的。該協(xié)議定義了一個(gè)在遠(yuǎn)程計(jì)算機(jī)系統(tǒng)和本地計(jì)算機(jī)系統(tǒng)之間傳輸文件的標(biāo)準(zhǔn)。一般來說,要傳輸文件的用戶需先經(jīng)過認(rèn)證以后才能登陸效勞器,訪問在遠(yuǎn)程效勞器的文件。大多數(shù)的FTP效勞器往往提供

19、一個(gè)guest的公共賬戶來允許沒有FTP效勞器賬戶用戶可以訪問該FTP效勞器。一個(gè)FTP會(huì)話通常包括五個(gè)軟件元素的交互。就模型而言,從1973年以來并沒有什么變化.FTP協(xié)議模型2.4 FTP文件傳輸連接類型一個(gè)完整的FTP文件傳輸需要建立兩種類型的連接,一種為文件傳輸下命令,稱為控制連接,另一種實(shí)現(xiàn)真正的文件傳輸,稱為數(shù)據(jù)連接。1控制連接客戶端希望與FTP效勞器建立上傳下載的數(shù)據(jù)傳輸時(shí),它首先向效勞器的端口發(fā)起一個(gè)建立連接的請(qǐng)求,F(xiàn)TP效勞器接收來自客戶端的請(qǐng)求,完成連接的建立過程,這樣的;連接就稱為FTP控制連接。2數(shù)據(jù)連接FTP控制連接建立之后,即可開場傳輸文件,傳輸文件的連接稱為FTP

20、數(shù)據(jù)連接。FTP數(shù)據(jù)連接就是FTP傳輸數(shù)據(jù)的過程,它有兩種傳輸模式:主動(dòng)傳輸模式和被動(dòng)傳輸模式,如下圖。主動(dòng)傳輸模式和被動(dòng)傳輸模式第三章開發(fā)環(huán)境及工具介紹3.1 C語言概述C語言是在70年代初創(chuàng)立的一種計(jì)算機(jī)語言,它既有匯編語言可以直接訪問機(jī)器硬件的功能,又具有高級(jí)語言面向用戶、可讀行好和易于記憶的優(yōu)點(diǎn),因此受到廣闊程序員的歡送。C是一種構(gòu)造化的程序設(shè)計(jì)語言。它由順序、選擇和循環(huán)三種根本構(gòu)造組成,便于實(shí)現(xiàn)有上到下、逐步細(xì)化的構(gòu)造化程序設(shè)計(jì)。因此,用C編寫的程序具有容易理解和便于維護(hù)的優(yōu)點(diǎn)。C語言的函數(shù)構(gòu)造有利于程序分割為相對(duì)獨(dú)立的功能模塊,為大型軟件實(shí)現(xiàn)模塊化的程序設(shè)計(jì)創(chuàng)作了條件。C沒有依賴于

21、硬件的輸入和主、輸出語句,因此用它編制的程序有較好的可移植性。C語言首先在Uni*操作系統(tǒng)中得到了應(yīng)用,由于它的這些優(yōu)點(diǎn)很快成為當(dāng)前應(yīng)用最為廣泛的計(jì)算機(jī)語言。3.2 VC+介紹Visual C+6.0是微軟公司推出的開發(fā)應(yīng)用程序Windows95/98/2000/*P/NT的、面向?qū)ο蟮目梢暬晒ぞ摺K淖畲蟮膬?yōu)點(diǎn)就是提供了功能強(qiáng)大的MFC類庫,MFC是一個(gè)很大的C+類層次構(gòu)造,其中封裝了大量的類及其函數(shù),很多Windows程序所共有的標(biāo)準(zhǔn)內(nèi)容可以由MFC的類來提供,MFC類為這些內(nèi)容提供了用戶接口的標(biāo)準(zhǔn)實(shí)現(xiàn)方法,程序員所要做的就是通過預(yù)定義的接口把具體應(yīng)用程序特有的東西填入這個(gè)輪廓,這將簡

22、化編程工作大大的減少程序員編寫的代碼數(shù)量,使編程工作變得更加輕松容易。3.3 VC+6.0集成環(huán)境介紹Visual C+提供可一個(gè)集源程序編輯、代碼編譯與調(diào)試于一體的開發(fā)環(huán)境,這個(gè)環(huán)境稱為集成開發(fā)環(huán)境,對(duì)于集成開發(fā)環(huán)境的熟悉程度直接影響程序設(shè)計(jì)的效率。開發(fā)環(huán)境是程序員同Visual C+的交互界面,通過它程序員可以訪問C+源代碼編輯器、資源編輯器,使用內(nèi)部調(diào)試器,并且可以創(chuàng)立工程文件。Microsoft Visual C+有兩個(gè)版本,對(duì)于每一個(gè)版本,都有對(duì)應(yīng)的文檔。專業(yè)版本,它包括一個(gè)更高級(jí)的優(yōu)化變壓器,更廣泛的文檔,并能設(shè)計(jì)基于DOS的應(yīng)用程序。標(biāo)準(zhǔn)版本,其費(fèi)用較低,沒有則高級(jí)的編譯器,文檔

23、較少,且不能設(shè)計(jì)基于DOS的應(yīng)用程序。第四章FTP效勞器需求分析4.1 FTP文件傳輸?shù)男枨驣nternet上早期實(shí)現(xiàn)傳輸文件,并不是一件容易的事,我們知道Internet是一個(gè)非常復(fù)雜的計(jì)算機(jī)環(huán)境,有PC,有工作站,有MAC,有大型機(jī),據(jù)統(tǒng)計(jì)連接在Internet上的計(jì)算機(jī)已有上千萬臺(tái),而這些計(jì)算機(jī)可能運(yùn)行不同的操作系統(tǒng),有運(yùn)行Uni*的效勞器,也有運(yùn)行Dos、Windows的PC機(jī)和運(yùn)行MacOS的蘋果機(jī)等等,而各種操作系統(tǒng)之間的文件交流問題,需要建立一個(gè)統(tǒng)一的文件傳輸協(xié)議,這就是所謂的FTP?;诓煌牟僮飨到y(tǒng)有不同的FTP應(yīng)用程序,而所有這些應(yīng)用程序都遵守同一種協(xié)議,這樣用戶就可以把自

24、己的文件傳送給別人,或者從其它的用戶環(huán)境中獲得文件。與大多數(shù)Internet效勞一樣,F(xiàn)TP也是一個(gè)客戶機(jī)/效勞器系統(tǒng)。用戶通過一個(gè)支持FTP協(xié)議的客戶機(jī)程序,連接到在遠(yuǎn)程主機(jī)上的FTP效勞器程序。用戶通過客戶機(jī)程序向效勞器程序發(fā)出命令,效勞器程序執(zhí)行用戶所發(fā)出的命令,并將執(zhí)行的結(jié)果返回到客戶機(jī)。比方說,用戶發(fā)出一條命令,要求效勞器向用戶傳送*一個(gè)文件的一份拷貝,效勞器會(huì)相應(yīng)這條命令,將指定文件送至用戶的機(jī)器。FTP(File Transfer Protocol文件傳輸協(xié)議)是Internet上用來傳送文件的協(xié)議。在Internet上通過FTP效勞器可以進(jìn)展文件的上傳Upload或下載Down

25、load。FTP是實(shí)時(shí)聯(lián)機(jī)效勞,在使用它之前必須是具有該效勞的一個(gè)用戶用戶名和口令,工作時(shí)客戶端必須先登陸到作為效勞器一方的計(jì)算機(jī)上,用戶登陸后可以進(jìn)展文件搜索和文件傳送等有關(guān)操作,如改變當(dāng)前工作目錄、列文件目錄、設(shè)置傳輸參數(shù)及傳送文件等。使用FTP可以傳送所有類型的文件。FTP效勞器的使用十分廣泛,在網(wǎng)絡(luò)上隨處可見到FTP效勞器。主要用于存放文件,讓網(wǎng)絡(luò)中的計(jì)算機(jī)可以共享這些文件。因此,F(xiàn)TP效勞器要有很大的存貯空間,免費(fèi)的FTP空間總是有限的,所以我們想,能不能將FTP效勞器建在自己的計(jì)算機(jī)上呢?隨著網(wǎng)絡(luò)技術(shù)的不斷成熟,寬帶業(yè)務(wù)的不斷推進(jìn),我們用動(dòng)態(tài)IP將Web主機(jī)、FTP效勞器和MAIL

26、效勞器搬回家,已經(jīng)不再是夢(mèng)想。通常效勞器端是遠(yuǎn)程端點(diǎn),用戶可以通過Internet網(wǎng)絡(luò)連接到遠(yuǎn)程的FTP效勞器站點(diǎn)。 在設(shè)計(jì)程序之前,我們首先要進(jìn)展一個(gè)重要的步驟需求分析。所謂需求分析,就是分析軟件用戶的需求是什么。如果投入大量的人力,物力,財(cái)力,時(shí)間,開發(fā)出的軟件卻沒人要,那所有的投入都是徒勞。如果費(fèi)了很大的精力,開發(fā)一個(gè)軟件,最后卻不滿足用戶的要求,從而要重新開發(fā)過,這種返工是讓人痛心疾首的。而我們現(xiàn)在就很明確的知道,我們的程序是用來進(jìn)展局域網(wǎng)文件傳輸?shù)?,知道了這一點(diǎn),我們的程序至不會(huì)全部返工,因?yàn)槲覀円呀?jīng)知道我們軟件所要完成的功能是什么。明確了程序的功能我們要進(jìn)一步的分析。4.2應(yīng)解決的

27、問題選擇好開發(fā)工具,設(shè)想好程序?qū)⒁獙?shí)現(xiàn)的大體功能后,我們就要分析該程序所需的條件,對(duì)該程序中將要遇到的問題做一下準(zhǔn)備工作,以便于以后設(shè)計(jì)的順利進(jìn)展。根據(jù)我們想要在局域網(wǎng)內(nèi)進(jìn)展文件傳輸?shù)囊螅紫?,要選擇在局域網(wǎng)內(nèi)通訊;其次,因?yàn)楸境绦蛞獙?shí)現(xiàn)的是FTP效勞器功能,所以我們要建立效勞器但是為了測(cè)試效勞器是否能夠有效運(yùn)行,我又配置了一個(gè)客戶端。4.3功能分析在做程序之前,我們要先確定本程序的功能,只有確定了功能,才能確定程序中使用什么函數(shù)來實(shí)現(xiàn)。如果想在局域網(wǎng)內(nèi)進(jìn)展文件傳輸,首先要有效勞器和客戶端,兩者配合使用。先翻開客戶端和效勞器,然后讓客戶登陸一下效勞器,效勞器端設(shè)制一下效勞器所完成的功能,然后

28、客戶端在向效勞器發(fā)送請(qǐng)求。第五章系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)5.1功能要求本程序是一個(gè)在局域網(wǎng)內(nèi)實(shí)現(xiàn)的小型FTP文件傳輸。主要實(shí)現(xiàn)的是FTP效勞器端功能,包括:FTP效勞日志,在線用戶的管理,統(tǒng)計(jì)客戶端信息還有客戶端上傳、下載、選擇數(shù)據(jù)傳輸模式、改變目錄等,并給出相應(yīng)提示。5.2開發(fā)工具本系統(tǒng)的實(shí)現(xiàn)采用的工具為VisualC+6.0.開發(fā)平臺(tái)為Windows2000,Windows*P。程序界面主要包括效勞器日志、在線用戶。統(tǒng)計(jì)信息、平安管理、菜單欄。工具欄、狀態(tài)欄。如下圖。效勞器用戶界面5.3主要功能與實(shí)現(xiàn)用CSocket類編制的效勞器端的程序,其過程如下,其過程主要是:創(chuàng)立CSocket對(duì)象。創(chuàng)立底層套

29、接字Socket.調(diào)用Listen,開場監(jiān)聽從客戶發(fā)來的訪問請(qǐng)求。如果收到請(qǐng)求,調(diào)用CAsyncSocket:Accept()函數(shù)進(jìn)展接收處理。建立CSocketFile對(duì)象,并且使該對(duì)象與CSocket對(duì)象具備一定得聯(lián)系。建立Carchive對(duì)象,以便實(shí)現(xiàn)卸裝接收數(shù)據(jù)和存儲(chǔ)發(fā)送數(shù)據(jù)的目的地址。當(dāng)然,該Carchive對(duì)象應(yīng)該與前面的CSocket對(duì)象建立聯(lián)系。使用Carchive對(duì)象在客戶和效勞器Socket之間傳遞數(shù)據(jù),從而實(shí)現(xiàn)效勞器Socket和客戶機(jī)Socket之間的通信。值得注意的是,一個(gè)給定的Carchive對(duì)象只能在單一的方向上傳遞數(shù)據(jù):或者承受,或者發(fā)送。一般情況下,可能需要兩

30、個(gè)Carchive對(duì)象來實(shí)現(xiàn)數(shù)據(jù)的雙向傳遞。5.4 菜單欄功能模塊菜單欄包括:效勞器,查看。效勞器菜單包括:開場,停頓,用戶賬戶向?qū)?,用戶賬戶功能,查看菜單包括:效勞器日志,在線用戶,配置,統(tǒng)計(jì),平安等功能。各項(xiàng)功能實(shí)現(xiàn)如下:效勞器功能:賬戶向?qū)В寒?dāng)你登錄效勞器時(shí)你需要一個(gè)有效的賬戶,用戶賬戶向?qū)⒁龑?dǎo)您通過必要的步驟,創(chuàng)造一個(gè)新的用戶賬戶。并將其添加到用戶賬戶對(duì)話框,創(chuàng)立用戶名,如下圖。用戶賬戶向?qū)Т翱谕ㄟ^這個(gè)窗口你可以創(chuàng)立自己的用戶名以及密碼用戶用以登錄FTP效勞器,該局部功能實(shí)現(xiàn)代碼如下:CWizardPage1: : CWizardPage1() : CPropertyPageE*(C

31、WizardPage1: : IDD, 0,IDS_HEADERTITLE1, NULL) m_strAccountName=_T(); m_psp.dwFlags &=PSP_HASHELP; CWizardPage1: : CWizardPage1() void CWizardPage1: : DoDataE*change(CDataE*change*pD*) CPropertyPageE*: : DODataE*change(pD*);DD*_Te*t(pD*, IDC_ACCOUNTNAME, m_steAccountName); BEGIN_MESSAGE_MAP(CWizardPa

32、ge1, CPropertyPageE*) END_MESSAGE_MAP() 2.用戶*功能:這一功能主要是效勞器端添加,修改和刪除用戶*,設(shè)置目錄權(quán)限使用添加按鈕以添加一個(gè)新目錄,其中選定的用戶*已具有訪問權(quán)限,每小組目錄您可以設(shè)定不同的權(quán)限,例如你可以給所有權(quán)限到C: 下載,但限制的權(quán)限為C: 下載申請(qǐng)時(shí),沒有權(quán)限指定的目錄,在這個(gè)目錄中它會(huì)自動(dòng)阻止用戶要求上傳任何子目錄。目錄屬性,當(dāng)您添加的編輯目錄的用戶*,目錄屬性對(duì)話框?qū)@示物理目錄物理目錄是真正的路徑文件夾的名稱。虛擬目錄虛擬目錄是一個(gè)物理文件夾的別名,當(dāng)用戶連接到您的FTP效勞器,它將看到這個(gè)目錄而不是真正的物理目錄名稱。設(shè)置效

33、勞器端允許客戶端的權(quán)限,例如允許客戶端可以下載,上傳,重命名哪些效勞器端的文件內(nèi)容。例如用戶123將:E:盤設(shè)為許可目錄,客戶端就可以隨時(shí)下載,上傳E:盤里面的內(nèi)容,如下圖用戶賬戶窗口這一功能實(shí)現(xiàn),代碼如下Void CUserAccountsDlg:OnDblclkDirlistNMHDR*pNMHDR,LRESULT*pResultOnEditDir();*pResult=0;5.5 查看功能模塊效勞器日志模塊的功能:在此屏幕,記錄客戶端與效勞器端的連接信息以及傳輸信息,當(dāng)客戶端登錄效勞器時(shí)效勞器日志會(huì)顯示是否與效勞器連接成功,當(dāng)客戶端要上傳文件或是下載文件成功時(shí)會(huì)記錄效勞器和FTP客戶端的

34、詳細(xì)資料,從而有助于您追蹤效勞器與客戶端之間的所有的通訊訊息,數(shù)目之間的方括號(hào)是線程ID,如下圖。該局部功能實(shí)現(xiàn)代碼如下:Friend CLogFile& setlevel(CLogFile& os, int level) m_nCurrentLevel=level;return os;friend CLogFile& error_lvl(CLogFile& os)os.m_nCurrentLevel=1;return os;friend CLogFile& warning_lvl(CLogFile& os)os.m_nCurrentLevel=2;return os;friend CLogF

35、ile& trace_lv(CLogFile& os)os.m_nCurrentlevel=3;return os;效勞器日志窗口在線用戶模塊的功能:通過效勞器來查看在線客戶端的用戶名,用戶IP地址,用戶登錄時(shí)間等信息,如下圖。在線用戶窗口該模塊功能實(shí)現(xiàn)代碼如下: class COnlineUserPage : public CDialogDECLARE_DYNCREATE(COnlineUsersPage)public:void RemoveUser(DWORD nThreadID);void AddUser(DWORD nThreadID,LPCTSTR lpszName,LPCTSTR

36、lpszAddress);COnlineUsersPage();COnlineUserPage();enum IDD = IDD_PROPPAGE_ONLINE;CListCtrl m_OnlineUsers;protected:virtual void DoDataE*change(CDataE*change*pD*); /DD*/DDV suportprotected:af*_msg void OnSize(UINT nType, int c*, int cy);virtual BOOL OnInitDialog();af*_msg void OnConte*tMenu(CWnd*pWnd

37、, CPoint point);af*_msg void OnKickUser();af*_msg void OnEditUserAccount();af*_msg void OnBlockIp();DECLARE_MESSAGE_MAP();/ Microsoft Visual C+ will insert additional declarations immediately before the previous line,#endif3.配置模塊的功能:在這里,可以配置FTP效勞器所以得設(shè)置。默認(rèn)效勞器端口為21,可以同時(shí)連接最多用戶數(shù),客戶端與效勞端連接時(shí)間當(dāng)客戶端已閑置的具體時(shí)間,

38、它會(huì)自動(dòng)斷開,歡送信息當(dāng)客戶端連接到效勞器時(shí)將會(huì)顯示該文本,再見訊息文本顯示當(dāng)一個(gè)客戶端從效勞器斷開時(shí)其他設(shè)置。FTP效勞器Windows下啟動(dòng),啟動(dòng)最小化在系統(tǒng)盤,并在啟動(dòng)時(shí)自動(dòng)激活效勞器。用戶還可以將用戶各種信息都記錄在效勞器日志里,如下圖。配置界面可通過該圖可以看出來,效勞器的一些配置功能的實(shí)現(xiàn)代碼如下:CConfigurationPage:CConfigurationPage():CDialogResize(CConfigurationPage:IDD)m_nPort=0;m_nMa*Users=0;m_strGoodbyeMessage=_T();m_bStartIray=FALSE

39、;m_nTimeout=0;m_strWeleMessage=_T();m_bLaunchOnStartup=FALSE;m_bAutoActivate=FALSE;m_nLogLevel=0;m_strApplicationName=_T();m_bModified=FALSE;CConfigurationPage: : CConfigurationPage()BOOL CConfiguration Page: : OnInitDialog()CDialogResize: : OnInitDialog();InitResizing(FALSE, FALSE, WS_CLIPCHILDREN)

40、;UpdateDialogControls(this,FALSE);return TRUE;/nInitDialogvoid CConfigurationPage: : OnVIew()int E*ecStatus=(UINT)ShelE*ecute(m_hWnd, open, NOTEPAD.E*E,(LPCTSTR)theApp.m_LogFile.m_FileName, 0, SW_SHOW);Switch(E*ecStatus)Case 0:MessageBo*(Systeem is out Memory,ShellE*ecute Error,MB_OKMB_ICONE*CLAMATI

41、ON);break;case2:MessageBo*(NOTEPAD.E*E is not found!,ShellE*ecute Error,MB_OKIMB_ICONE*CLAMATION);break;default:If(E*ecStatus=32)MessageBo*(Problem with e*ecuting of NOTEPAD.E*E,ShellE*ecute Error,MB_OKIMB_ICONE*CLAMATION);break;/查看日志內(nèi)容Void CConfigurationPage:OnClear()theApp.m_LogFile.Clear();/去除日志文件內(nèi)容到這里該系統(tǒng)的主要模塊的功能的實(shí)現(xiàn)以根本完成。第六章系統(tǒng)測(cè)試6.1系統(tǒng)可能出現(xiàn)的問題與缺乏經(jīng)過幾次的軟件測(cè)試發(fā)現(xiàn)系統(tǒng)存在著

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論