【論文寫作】客戶端設計與實現(xiàn)中各模塊設計如何寫
4??FTP軟件詳細設計與實現(xiàn)
4.1軟件總體分析與設計
根據(jù)需求分析,按照系統(tǒng)開發(fā)的基本觀點對功能進行分解,從功能上可對模塊作如下劃分:
1.連接管理模塊:主要完成主機與服務器之間的連接與關(guān)閉操作。
2.文件管理模塊:主要完成文件的顯示、新建文件、刪除文件等。
3.文件傳輸模塊:主要完成主機與服務器連接成功以后文件的上傳與下載。
4.輔助功能模塊:主要是保存一些登錄信息和一些簡單的配置信息。
4.2各模塊具體設計
4.2.1? 連接管理設計
該Ftp客戶端工具用一個Winsocket連接上Ftp服務器,然后向其發(fā)送命令。在這個過程中,我們依靠發(fā)送——響應的機制。即發(fā)送Ftp命令——接收返回的響應信息——分析該信息——執(zhí)行相關(guān)操作——發(fā)送下一條命令。在一般意義上,有一個socket用來連接Ftp服務器的相關(guān)端口(如默認的21),它負責Ftp命令的發(fā)送和接收返回的響應信息。一些操作如“進入目錄”、“刪除文件”,依靠這個socket發(fā)送一條命令就可完成了。
1.客戶端與服務器連接
FTP是建立在TCP之上的連接,端口號使用21。若客戶端與服務器之間成功連接,服務器將返回字符串,如:220 GMS (Version 5.0)。
前三個字符220表示客戶端與服務器成功連接,后面的字符會因服務器的不同而不同,但我們只關(guān)心前三個字符。
2.用戶名和密碼認證
客戶端發(fā)送用戶名給服務器,如:USER he,如果服務器找到用戶名he,將返回字符串,如:331 User name okay, needpassword。
接著客戶端應發(fā)送密碼給服務器,如:PASS 123,密碼正確,返回如:230 User logged in, proceed,如果用戶名或密碼認證沒有通過,返回如:530 Not logged in。
用戶名也可以使用匿名,如:USER anonymous,返回如:331 Anonymous access allowed, send identity (e-mail name) aspassword。
4.2.1? 文件管理設計
文件管理具有文件的主要是新建文件夾、刪除文件,使用DirectoryInfo類的Delete()方法和CreateDirectory()方法來實現(xiàn)。文件屬性的設置包括:是否只讀、是否隱藏、是否歸檔,用File類和Directory類來完成對文件和文件夾的屬性設置。
4.2.2? 文件傳輸設計
FTP協(xié)議用兩個連接來達到客戶機與服務器之間交換數(shù)據(jù)的目的如圖3。先建立第一個連接——控制連接,它用于傳送命令和響應。在建立第二個連接——數(shù)據(jù)連接,用于數(shù)據(jù)傳輸。FTP提供了兩種方式來建立數(shù)據(jù)連接,一種用PORT命令,一種用PASV命令。我們使用后者??蛻舳税l(fā)送PASV命令給服務器,服務器返回IP地址和端口號,用來提供給客戶端進行數(shù)據(jù)連接。如:227 EnteringPassive Mode (10,175,125,49,9,17)括號里6個數(shù)字中前4個數(shù)字表示IP地址10.175.125.49,后2個數(shù)字表示端口號,這2個數(shù)字按如下公式計算端口號:9*256+17=2321這樣,客戶端就可用IP地址10.175.125.49和端口號2321連接服務器,建立數(shù)據(jù)連接。
