【正文】
es, he that deals between man and man, raiseth his own credit with both by pretending greater interest than he hath in either. And in these, and the like kinds, it often falls out that somewhat is produced of nothing: for lies are sufficient to breed opinion, and opinion brings on substance. In military manders and soldiers, vainglory is an essential point。t know what that is! The journey of the witches on broomsticks is well enough known that journey is taken on St. John39。 ( 4)學(xué)校 可允許學(xué)位論文被查閱或借閱。 [7] Xin Chen[美 ].應(yīng)用框架的設(shè)計與實現(xiàn) 平臺 [M].溫昱,靳向陽 [譯 ].北京:電子工業(yè) 出版社 ,2020。對 FTP 工作過程也有了一定的了解。實現(xiàn)了 FTP的基本功能。 登錄前 登錄后 第 17 頁 共 21 頁 圖 6下載前目錄下所有文件 圖 7下載 后目錄下所有文件 第四步只要測試了對主機(jī)登錄信息的保存,是否成功讀寫 INI 文件。 測試的過程與分析 第一步測試的是連接操作。 (ServerName,LoginName,loginname)。 if(hostname==) 第 15 頁 共 21 頁 { hostname=hostip。 } } } 當(dāng)在第一次 登錄 主機(jī)時,為方便以后在次 登錄 該主機(jī)則需要保存其 登錄 信息。 return。 if(!(iReplyCode == 226 || iReplyCode == 250)) { throw new IOException((4))。 SendCommand(RETR + strRemoteFileName)。最后進(jìn)行數(shù)據(jù)傳輸以流方式傳輸。 其主要代碼程序如下: private void MyDeleteFile(string path) {//刪除本地文件 第 12 頁 共 21 頁 try { if(path==null) return。//關(guān)閉連接 throw new IOException((4))。 第 11 頁 共 21 頁 // 鏈接 try { (ep)。 :在目錄輸入框中可以根據(jù)目錄來顯示所選定的文件夾下所有文件及文件夾信息,信息包括文件路徑、文件創(chuàng)建日期、文件大小,利用GetFileSystemEntries()方法來完成。 文件傳輸設(shè) 計 FTP 協(xié)議用兩個連接來達(dá)到客戶機(jī)與服務(wù)器之間交換數(shù)據(jù)的目的 如圖 3。 530:未 登錄 。 450:請求的文件操作未執(zhí)行。 250:請求的文件操作完成。 214:幫助信息,信息僅對人類用戶有用。 120:服務(wù)在 nnn分鐘內(nèi)準(zhǔn)備好。 1. 客戶端與服務(wù)器連接 第 8 頁 共 21 頁 FTP 是建立在 TCP 之上的連接,端口號使用 21。 :主要完成文件的顯示、新建文件、刪除文件等。我們可以通過為 FTP 服務(wù)器指定一個有限的端口范圍來減小服務(wù)器高位端口的暴露。大多數(shù)瀏覽器只在訪問 URL 時才支持被動模式。在第 3 步中,客戶端初始化一個從自己的數(shù)據(jù)端口到服務(wù)器端指定的數(shù)據(jù)端口的數(shù)據(jù)連接。這樣做的結(jié)果是服務(wù)器會開啟一個任意的非特權(quán)端口( P1024) , 并發(fā)送 PORT P 命令給客戶端。然后在第 2步中, FTP 服務(wù)器給客 戶端的命令端口返回一個 ACK。 PORT 命令包含了客戶端用什么端口接收數(shù)據(jù)。也就是說,用戶只能從匿名 FTP 主機(jī)拷貝其需要的文件而不能把文件拷貝到匿名 FTP 主機(jī)。 從根本上說, FTP 協(xié)議就是在網(wǎng)絡(luò)中各種不同的計算機(jī)之間按照 TCP/IP 協(xié)議來傳輸文件。 正如前文所述, C是專門為 .NET 應(yīng)用而開發(fā)出的語言,這從根本上保證了C與 .NET 框架的完美結(jié)合。它把開發(fā)功能強(qiáng)大、性能可靠的企業(yè)網(wǎng)絡(luò)解決方案進(jìn)行了簡化。并希望能給 FTP 客戶端編寫初學(xué)者一些幫助。通過 Inter, 任何用戶可以使用 FTP 和一個公用賬號(通常賬號名是 anonymous)去獲得一些公用資源。 盡管遠(yuǎn)程 登錄 ( Tel)提供了訪問遠(yuǎn)程文件的極好方法,但怎么也比不上使用自己計算機(jī)中的文件方便。 functions of operating on files are implemented in file management module。 畢業(yè)設(shè)計 ( 論文 ) FTP 客戶端設(shè)計與實現(xiàn) 論文作者姓名: 申請學(xué)位專業(yè): 申請學(xué)位類別: 指導(dǎo)教師姓名(職稱): 論文提交日期: FTP 客戶端設(shè)計與實現(xiàn) 摘 要 互聯(lián)網(wǎng)的一大特點是實現(xiàn)信息共享,文件傳輸是信息共享的十分重要的內(nèi)容之一。 關(guān)鍵詞 : .NET; C;文件傳輸協(xié)議;客戶端 The Design and Implementation of FTP Client Abstract The predominant characteristic of work is information resources sharing. Document transmission is an important ponent element. Because of this, many File Transfer Protocol (FTP) servers appeared, and won its way into favor. C programming language is used to develop the FTP client software after prehending the FTP working principle. And this FTP client software is made up of linking module、 file management module、 file transmission module and assisted management module. Linking module performs the functions of linking a host and a server。也隨之出現(xiàn)了許多下載軟件。 用 FTP 傳輸文件,本來用戶事先應(yīng)在遠(yuǎn)方系統(tǒng)注冊,但后來為了便于大家獲取資源, FTP 在互聯(lián)網(wǎng)上有一種特殊的也是非常廣泛的應(yīng)用是匿名 FTP (anonymous FTP)。讓用戶能第一時間和別人共 第 2 頁 共 21 頁 同分享信息資源。 Visual 簡介 Visual Studio .NET 是 Microsoft 為實現(xiàn)其 .NET 技術(shù)而開發(fā)的一整套工具組件。 C還能為 C++程序員提供快捷的開發(fā)方式又沒有丟掉 C 和 C++的基本特征強(qiáng)大的控制能力, C與 C和 C++有著很大程度上的相似性,熟悉 C 和 C++的開發(fā)人員很快就能精通 C。在 TCP/IP 協(xié)議中, FTP 標(biāo)準(zhǔn)命令 TCP 端口號為 21, Port 方式數(shù) 據(jù)端口為 20。出于安全的目的,大部分匿名 FTP 主機(jī)一般只允許遠(yuǎn)程用戶下載 (download)文件,而不允許上載 (upload)文件。 FTP工作過程 : Port模式 FTP客戶端首先和 FTP服務(wù)器的 TCP 21端口建立連接,通過這個通道發(fā)送命令,客戶端需要接收數(shù)據(jù)的時候在這個通道上發(fā)送 PORT 命令。 連接過程 如 下圖 1: 圖 1 FTP主動模式 連接過程 圖 在第 1 步中,客戶端的命令端口與 FTP 服務(wù)器的命令端口建立連接,并發(fā)送命令 “PORT 1027” 。第一個端口連接服務(wù)器的 21 端口,但與主動方式的FTP 不同,客戶端不會提交 PORT 命令并允許服務(wù)器來回連它的數(shù)據(jù)端口,而是提交 PASV 命令。然后在第 2步中,服務(wù)器返回命令 PORT 2024,告訴客戶端(服務(wù)器)用哪個端口偵聽數(shù)據(jù)連接。 隨著 WWW 的廣泛流行,許多人習(xí)慣用 web 瀏覽器作為 FTP 客戶端。 FTP 服務(wù)器的管理員需要他們的服務(wù)器有最多的客戶連接,那么必須得支持被動 FTP。 環(huán)境需求 操作系統(tǒng): Windows XP(or Windows 2020Advance Server) 網(wǎng)絡(luò)服務(wù)器: FTP 開發(fā)平臺: Visual Studio .NET 2020 4 FTP軟件詳細(xì)設(shè)計與實現(xiàn) 軟件總體分析與設(shè)計 根據(jù)需求分析,按照系統(tǒng)開發(fā)的基本觀點對功能 進(jìn) 行分解,從功能上可對模塊 作如下劃分: 塊 :主要完成主機(jī)與服務(wù)器之間的連接與關(guān)閉操作。一些操作如“進(jìn)入目錄”、 “刪除文件”,依靠這個 socket 發(fā)送一條命令就可完成了。在這種情況下文本是確定的,它必須是: MARK yyyy=mmmm 其中 yyyy 是用戶進(jìn)程標(biāo)記, mmmm 是服務(wù)器標(biāo)記。 213:文件狀態(tài)。 230:用戶 登錄 。 426:關(guān)閉連接,中止傳輸。 504:此參數(shù)下的命令功能未實現(xiàn)。文件屬性的設(shè)置包括:是否只讀、是否隱藏、是否歸檔,用 File 類和 Directory 類來完成對文件和文件夾的屬性設(shè)置。 圖 3 文件傳輸中的處理過程 輔助功能設(shè)計 根據(jù)需求功能需要完成文件的上傳及下載必須要完成一些相關(guān)的輔助功能: ,需要在項目引用中添加 COM 標(biāo)簽中的 Microsoft Scripting Runtime 組件,來獲取系統(tǒng)驅(qū)動器信息。 IPEndPoint ep = new IPEndPoint((RemoteHost), strRemotePort)。 if( !(iReplyCode == 331 || iReplyCode == 230) ) { CloseSocketConnect()。這里只對文件夾的刪除操作做介紹,先實例化 DirectoryInfo類并傳入?yún)?shù) path,然后判斷是文件還是文件夾用Delete()方法來刪除文件。在進(jìn)行設(shè)置傳輸模式:二進(jìn)制 Binary傳輸或 ACSII傳輸,在創(chuàng)建數(shù)據(jù)連接發(fā)送 PASV被動模式進(jìn)行傳輸然后對應(yīng)答命令進(jìn)行判斷。 Socket socketData = CreateDataSocket()。 } if(!(iReplyCode == 226 || iReplyCode == 250)) { ReadReply()。 if((\\)) { if(=3) { (根目錄了! ,系統(tǒng)提示,)。 return。 string mydir=()。 (ServerName,HostIp,hostip)。 } 5 軟件測試 測試 前分析 本 FTP 軟件測試,從詳細(xì)設(shè)計來看,分 4 部分進(jìn)行測試:首先必須連接到某網(wǎng)絡(luò),在網(wǎng)絡(luò)連接成功后,進(jìn)行第一步測試連接測試,在輸入 IP地址和 登錄名和密碼后能成功連接到主機(jī);第二步對文件操作測試,能新建文件、刪除文件等操作;第三步在于服務(wù)器連接成功后測試上傳和下載操作,第四步檢測文件在選擇目錄后能顯示根據(jù)路徑來顯示此路徑下所有文件和信息保存入 INI 文件。 第三步測試文件上傳和下載功能,以下載 為例下載前本地主機(jī)沒有該文件如圖 6,當(dāng)下載成功后主機(jī)這邊顯示有 文件出來在本地主機(jī)上 如圖 7。 下載成功后 下載前 第 18 頁 共 21 頁 結(jié) 論 此次 FTP 軟件的設(shè)計與開發(fā),從其功能上講沒有任何新的功能。但是此次畢業(yè)設(shè)計的對我的最大收獲是了解了 .NET 開發(fā) Windows 應(yīng)用程序開發(fā),對新的開發(fā)語言 C有了了解。 [6] 李勇平,陳峰波 .(C)基礎(chǔ)教程 [M].北京:清華大學(xué)出版社 ,2020。 ( 3)學(xué)??梢詫W(xué)術(shù)交流為目的復(fù)制、贈送和交換學(xué)位論文。s diversion, namely, the wild hunt to Amack. Ah, you don39。 there are sometimes great effects of cross lies。s self hath any perfection. For saith Pliny very wittily。s without the consent of theowner。 and others that t