【正文】
畢業(yè)設(shè)計(論文) C++小型 FTP 服務(wù)器系統(tǒng)【畢業(yè)論文】 畢業(yè)設(shè)計(論文) C++小型 FTP 服務(wù)器系統(tǒng) Suihua University Graduation Paper A Small FTP System Based on the VC++ Student name Student number 202150433 Major Computer Science amp。 Technology Supervising teacher Suihua University 摘 要 本程序是一個小型 FTP 服務(wù)器系統(tǒng),實(shí)現(xiàn)了 FTP 服務(wù)器所應(yīng)該具備的大多數(shù)功能,包括用戶的登錄,文件的上傳、下載、刪除,選擇數(shù)據(jù)傳輸模式、目錄選擇等,并給出相應(yīng)的提示。通過該程序的開發(fā),基本上實(shí)現(xiàn)了一個 FTP 服務(wù)器所應(yīng)該具有的功能,能夠解釋一般的 FTP 命令,并且符合 RFC959 規(guī)范。本軟件的設(shè)計,即從需求分析,軟件設(shè)計到軟件功能實(shí)現(xiàn),都始終遵 循軟件工程的思想和方法。本文中采用了大量的圖表說明,使文章明確清晰,便與閱讀和理解。 本程序采用 VC++ 作為開發(fā)工具,設(shè)計步驟采用自頂向下的方法。 關(guān)鍵詞:上傳;下載; VC++; FTP 服務(wù)器 Abstract This procedure is a small FTP server system, carrying out most functions that FTP server should have, including the logging of the customer, document of up load, download, delete, the choice data delivers the mode, the catalogue choice...etc., and hint homogonously for . Pass the development of that procedure, carried out the function that a FTP server should have basically, can explain the general order of FTP, and match the norm of design of this software, namely analytical from the need, the software designs the software function to carry out, all following the thought and the method of the software engineering always. It adopted a great deal of chart in this text elucidation, make article definitely clear, then with read and prehend. This procedure adopts the VC++ conduct and actions development tool, design step adoption from a method for get down. Key words: upload。 download。 VC++。 FTP server 目錄 摘要?????????????????????????????????? I Abstract???????????????????????????????II 前言?????????????????????????????????? 1 第 1 章 FTP 協(xié) 議 與 原理????????????????????????? 2 FTP 簡介???????????????????????????? 2 FTP 的 工 作 原理????????????????????????? 2 FTP 運(yùn)行原理??????? ??????????????????? 3 FTP 文件傳輸連接類型?????????????????????? 5 第 2 章 開 發(fā) 環(huán) 境 及 工 具 介紹??????????????????????? 8 C 語言概述??????????????????????????? 8 VC++ 介紹???????????????????????????? 8 VC++ 集成開發(fā)環(huán)境?????????????????????? 8 MFC 介紹???????????????????????????? 9 SOCKET?????????????????????????????9 第 3 章 FTP 服 務(wù) 器 需 求 分析??????????????????????? 11 FTP 文 件 傳 輸 的 需求??????????????????????? 11 應(yīng) 解 決 的 問題????????????????????????? 12 功能分析??????????????????????????? 12 第 4 章 系 統(tǒng) 設(shè) 計 與 實(shí)現(xiàn)????????????????????????? 13 功能要求???????????? ??????????????? 13 開發(fā)工具??????????????????????????? 13 主要功能與實(shí)現(xiàn)???????????????????????? 13 第 5 章 系統(tǒng)測試???????????????????????????? 22 系 統(tǒng) 可 能 出 現(xiàn) 的 問 題 與 不足??????????????????? 22 采用的測試類型???????????????????????? 22 測試的過程與結(jié)果分析????????????????????? 22 結(jié)論??????? ??????????????????????????24 參考文獻(xiàn)??????????????????????????????? 25 附錄?????????????????????????????????26 致謝?????????????????????????????????33 前 言 進(jìn)入信息時代,隨著互聯(lián)網(wǎng)普及,只要接上網(wǎng)絡(luò),就能從網(wǎng)上找到龐大的數(shù)據(jù)資源,其內(nèi)容包羅萬象,可以說幾乎任何人都可以在 Inter 資源中找到自己所需要的信息資源。有了網(wǎng)絡(luò),使用者不但可以瀏覽各種各樣的信息資源,還能 夠?qū)⒆约焊信d趣的資源下載到本地機(jī)上。由于網(wǎng)絡(luò)的帶寬及各種服務(wù)的限制,單純從頁面上下載顯得又慢又不可靠,所以就有許多 FTP 工具提供出來。從根本上說, FTP 就是在網(wǎng)絡(luò)中各種不同的計算機(jī)之間按照 TCP/IP 協(xié)議來傳輸文件。FTP 采用的是現(xiàn)在流行的 Client/Server 模式,由 FTP 客戶端和 FTP 服務(wù)器端程序組成。通常服務(wù)器端是遠(yuǎn)程端點(diǎn),用戶可以通過 Inter 網(wǎng)絡(luò)連接到遠(yuǎn)程的FTP 服務(wù)器站點(diǎn)。服務(wù)器的功能是主要的。只有當(dāng) FTP 服務(wù)器支持各種協(xié)議和指令時,才能夠開發(fā)相應(yīng)的客戶端程序。下面我們就來介紹一下我自 己開發(fā)一個小型 FTP 服務(wù)器的過程與思路。 第 1 章 FTP 協(xié)議與原理 FTP 簡介 FTP( File Transfer Protocol)是文件傳輸協(xié)議的簡稱。 直到 1994 年,當(dāng)掌管 Inter 時,文件傳輸協(xié)議( FTP)是和 一樣最廣泛應(yīng)用的 Inter 客戶程序。它被用于作為訪問 Inter 主機(jī)文件的一個遠(yuǎn)程外殼。使用可以連接到一個 FTP 服務(wù)器,在可用的目錄間游歷,并且傳輸文件。 一個 FTP 站點(diǎn)可以是公用的,私有的,或者兩者兼有之。使用一個私有的賬號,你可以擁有訪問整個網(wǎng)絡(luò)的 目錄結(jié)構(gòu),或者只是特定的區(qū)域權(quán)限。 Inter 同時也是一個擁有很多允許任何人連接和傳輸文件的 FTP 服務(wù)器的中心,不管他們有沒有主機(jī)上的賬號。這叫做匿名 FTP。當(dāng)你登錄到一個匿名FTP 點(diǎn)時,你通常使用 anonymous”作為你的用戶名, guest”或你的 地址作為密碼。例如,匿名 FTP 經(jīng)常用于發(fā)布大量的公用領(lǐng)域或共享軟件。其中一個著名的公用 FTP 站點(diǎn) 。 FTP 主要設(shè)計目的是用于程序之中,不過 FTP 程序自身已經(jīng)成為任何一個TCP/IP 實(shí)施的重要部分。當(dāng)你在 Windows 、 Windows95 或 Windows NT 中使用 Microsoft 的 TCP/IP 驅(qū)動程序時, 將被安裝。實(shí)際上, FTP 已經(jīng)包含于 Netscape 和其它的瀏覽器中,因此你可以使用瀏覽 Web 的程序同時瀏覽 FTP服務(wù)器。 1. FTP 工作原理 FTP 是 TCP/IP 的一種具體應(yīng)用,它工作在 OSI 模型的第七層, TCP 模型的第四層上,即應(yīng)用層,使用 TCP 傳輸而不是 UDP,這樣 FTP 客戶在和服務(wù)器建立連接前就要經(jīng)過一個被廣為熟知的三次握手的過程,它帶來的意義在于客戶與服務(wù)器之間的連接是可靠的,而且是面向連接,為 數(shù)據(jù)的傳輸提供了可靠的保證。采用 FTP協(xié)議可使 Inter用戶高效地從網(wǎng)上的 FTP服務(wù)器下載大信息量的數(shù)據(jù)文件,將遠(yuǎn)程主機(jī)上的文件拷貝到自己的計算機(jī)上。以達(dá)到資源共享和傳遞信息的目的。由于 FTP 的使用使得 Inter 上出現(xiàn)大量為用戶提供的下載。 Inter成為了一個巨型的軟件倉庫。 FTP 在文件傳輸中還支持?jǐn)帱c(diǎn)續(xù)傳功能,可以大幅度地減小 CPU 和網(wǎng)絡(luò)帶寬的開銷。 2FTP 服務(wù)器登錄方式的分類 我們已經(jīng)知道 FTP 服務(wù)實(shí)際上就是將各種可用資源放在各個 FTP 主機(jī)中,網(wǎng)絡(luò)上的用戶可以通過 Inter 聯(lián) 到這些主機(jī)上,并且使用 FTP(文件傳送協(xié)議)將想要的文件拷回到自己的計算機(jī)中。在使用 FTP 傳送文件之前,最主要的步驟就是如何聯(lián)入各 Inter 上的 FTP 服務(wù)器。聯(lián)入的主要步驟也就是登錄( Login)的過程。通常用戶在欲下載的 FTP 服務(wù)器上輸入許可的帳號( account)和密碼password),得到該服務(wù)器許可后,即可進(jìn)入。 FTP 服務(wù)器分為兩種: 其一,為一般的 FTP 服務(wù)器,進(jìn)入這種服務(wù)器時必須擁有該主機(jī)的帳號和密碼; 其二,為匿名 FTP 服務(wù)器(稱為 anonymous FTP 服務(wù)器)登錄此類 FTP 服務(wù)器時,用戶只要以 guest”或 anonymous”為帳號,并以自己的 Email 地址為密碼,即可進(jìn)入該 FTP 服務(wù)器主機(jī),任意瀏覽和下載文件。當(dāng)用戶登錄到某個 FTP服務(wù)器時,如果用 guest”或 anonymous”為帳號,均無法進(jìn)入,則表明該服務(wù)器不是匿名 FTP 服務(wù)器。實(shí)際上,匿名 FTP 只是 FTP 中的一種,它是一種開放式帳號的 FTP 服務(wù)器,它可以為網(wǎng)絡(luò)上的任何使用者所利用,與非匿名的 FTP 不同的只是登錄時的帳號為 anonymous”,而密碼為任用戶的 Email 地址?,F(xiàn)在,某些站點(diǎn)還明確要求使用電子郵件地址作 為匿名用戶密碼,而不接受 guest”這樣的密碼提供電子郵件地址,有助于讓站點(diǎn)的擁有者了解到是哪些