版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1網(wǎng)絡應用編程(FTP客戶端)1.1系統(tǒng)概述選題:FTP客戶端:一一支持用戶鑒別、文件上傳下載、目錄列表等操作。系統(tǒng)實現(xiàn)功能:該系統(tǒng)實現(xiàn)了用戶鑒別,文件的上傳和下載,目標列表的顯 示,文件目錄的切換、遠程文件的刪除。背景知識:FTP( File Tran sfer Protocol)是 In ternet 傳輸文件的通用協(xié)議。FTP提供交互式訪問,允許客戶指明文件類型和格式。FTP屏蔽了個計算機 系統(tǒng)的細節(jié),因為適合在異構的網(wǎng)絡中任意計算機之間傳送文件。該協(xié)議位于 TCP/IP協(xié)議的應用層,因此FTP屬于應用層的一個協(xié)議。利用 FTP協(xié)議,可以 將一個完整的文件從一個系統(tǒng)復制到另一個系統(tǒng),但是
2、在使用FTP協(xié)議前,需要登錄FTP服務器,用戶可以通過注冊的用戶名和密碼登錄,如果服務器允許, 用戶也可以通過匿名登錄。FTP工作原理:FTP使用兩個并行的TCP連接:一個是控制連接,一個 是數(shù)據(jù)連接??刂七B接用于在客戶和服務器之間發(fā)送控制信息。數(shù)據(jù)連接用于傳 送文件。FTP服務器在21端口上監(jiān)聽控制連接,如有客戶要求上傳或下載文件, 就另外建立一個數(shù)據(jù)連接,通過它來傳送文件。數(shù)據(jù)連接的建立有兩種方式:(1)TCP服務器在20端口監(jiān)聽數(shù)據(jù)連接,TCP客戶主動請求建立連接。首先由TCP客戶創(chuàng)建一個監(jiān)聽的匿名端口的 ServerSocke,再把這個 ServerSocket監(jiān)聽的端口號(調用Ser
3、verSocket的 getLocalPort()方法就能得到端口 號)發(fā)送給TCP服務器,然后又TCP服務器主動請求建立與客戶端的連接。該系統(tǒng)用的的第二種建立數(shù)據(jù)連接的方法。1.2開發(fā)環(huán)境MyEclipse 8.5ftpserver.exe1.3系統(tǒng)設計首先要建立控制連接,用戶登錄(進行所有的文件操作之前都需要登錄服 務器),然后就可以進行文件操作(文件的上傳下載、文件的刪除等),在獲取 列表信息、上傳和下載文件等文件傳輸操作時,需要客戶端與服務器建立數(shù)據(jù) 連接。用UML中用例圖來表示該系統(tǒng)的功能模塊:13建立控制連接斷開連接返回上層目錄刪除文件上傳文件FTP服務器/FTP客戶端界面建立數(shù)據(jù)
4、連接顯示列表下載文件1.4程序流程建立控制連接:獲取文件列表建立數(shù)據(jù)連接:上傳文件:下載文件:選擇要下載的文件 選擇下載目錄建立數(shù)據(jù)連接RETR 建立文件輸出流從網(wǎng)絡接收文件數(shù)據(jù)到緩存 從緩存輸出文件輸出流關閉數(shù)據(jù)連接關閉文件輸出流進入目錄:雙擊目錄,獲取目錄名發(fā)送進入目錄信息CWD 獲取文件列表返回目錄發(fā)送返回目錄信息CDUP 獲取文件列表刪除文件:關閉連接:發(fā)送停止連接QUIT1.5主要數(shù)據(jù)結構該系統(tǒng)用了兩個類Frame和ListenclassFrame:主類,包括圖形界面和所有函數(shù)操作。classListe n:子類,繼承線程類,用于監(jiān)聽服務器的響應信息,把響應信息 顯示到文本框中1.6
5、主要函數(shù)說明private void myln it()/初始化程序對jTree1進行初始化public void setTree(Stri ng PathQefaultMutableTreeNode TreePath)/構造本地列表jTree對象的目錄樹private void ReloadList()/清空目錄列表,建立數(shù)據(jù)連接,發(fā)送NLST獲取文件列表。public Socket dataC onn ectio n(Stri ng ctrlcmd)/建立數(shù)據(jù)連接public void getMsgs()/啟動線程類監(jiān)聽服務器的響應消息void conn ect_acti on Perfo
6、rmed(Act ion Eve nt e)/登錄連接到FTP服務器。void disc onn ect_acti on Performed(Act ion Eve nt e)/關閉FTP服務器連接void choicels_actio nPerformed(Actio nEve nt e)/選擇需要的本地文件目錄void list1_actio nPerformed(Actio nEve nt e)/FTP服務器文件目錄改變void cdup_actio nPerformed(Actio nEve nt e)/返回上一層目錄void del_actio nPeformed(Actio nEv
7、e nt e)/刪除服務器上的文件void stor_actio nPerformed(Actio nEve nt e)/上傳本地文件到ftp目錄void retr_actionPerformed(ActionEvent e)/下載ftp文件到本地目錄1.7系統(tǒng)使用說明連接服務器,用戶鑒別,顯示目錄列表:從本地上傳文件Analyse.rar到服務器:本地硬盤目錄列表: EAlocalQ Analyse rar0 FtpCIient.javaPi Gzip.doc4 口 ipnnsQ雙擊文件夾,進入相應目錄。單擊文件,將文件下到本地目錄中 下方文本框會顯示提示信息和服務器響應信息。FTP服努器目
8、錄列表:C語言與C+*語言的區(qū)別.pptEXPcns_stJdent sendpackWinPcap 資料WiriPc那資料阿中軟吉犬網(wǎng)貉數(shù)學平臺協(xié)議分析源碼 網(wǎng)貉編程慨述.Mt本地硬盤目錄列表: E:HlocalQ Analyse.rarPl Ftpclient javaQ Gzip.doco- 口 ipmsgQ JAVA_APLCN.CHMQ JDK中文幫助文檔工hm WinPcap資料 mWiriPc即資料wr中軟吉大網(wǎng)絡教學平臺協(xié)溟分析源碼EXPcns.studentrr 網(wǎng)第編稈概22& Transfer complete選擇的下載本:EllocalFTP眼務器目錄列表:=目錄:El
9、local200 Port 匚口mmand successful.150 Opening BINARY mode data connection for file transfer.226 Trans仙 cum卩1引豈1.8項目分析總結遇到問題:1、選中列表中的文件進行文件操作,服務器提示文件不存在原因:將服務器傳來的列表信息分解成文件名填入 List列表時,每個文件名 后多附加了一個空格,列表中顯示的文件名雖與服務器上的文件名看上去一致, 但具體操作時缺無法找到該文件。解決辦法:字符串操作,提取文件名的時候去除空格。2、下載大文件的時候出現(xiàn)假死的現(xiàn)象。問題原因:服務器上傳和下載的速度限制,文
10、件輸入或輸出流沒有讀完就一 直阻塞。造成假死現(xiàn)象。300. 0,250, 0o nu O o n- OO 5當服務器的下載速度限制為1OOkb/s時,下載大文件的速度如圖:250, 0L 2OQ. 0150. 0L100. 050. 01當服務器的下載速度限制為1OOOOOOkb/s時,下載大文件的速度如圖:300, 0,原因分析:客戶端的字節(jié)緩存定義為1K,有數(shù)據(jù)時,接受滿1K數(shù)據(jù)寫1K到文件 輸出流。byte buff = new byte1024;while (ch = instr.read(buff ) 0) getFile.write( buff , 0, ch);當服務器的下載速度限制為100kb/s時,下載速度由服務器限制,客戶端緩存 很快處理了讀寫,一直等服務器的數(shù)據(jù),所以截圖中下載速度一直在 100kb/s左 右。當服務器的下載速度限制為1000000kb/s時,服務器一下發(fā)送很多數(shù)據(jù),客戶 端緩存處理相對較慢,不能很快接受,服務器的發(fā)送要等待客戶端處理完后繼續(xù) 發(fā)送。所以截圖中下載速度呈波形。項目亮點:能實現(xiàn)服務器的基本功能,還能顯示服務器與客戶端的通信過程,文本框中 會顯示服務器的相應信息。圖形界面能方便用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 制造業(yè)務員工作總結
- 酒店管理崗位考核
- 美容行業(yè)前臺接待工作總結
- 教師團隊專業(yè)培訓
- 廚具行業(yè)采購工作總結
- 2024年設備監(jiān)理師考試題庫帶答案
- 2024年熱的傳遞教案設計
- 創(chuàng)意市集活動贊助合同(2篇)
- DB33T 2111-2018 福利彩票視頻型彩票銷售管理規(guī)范
- 安徽省阜陽市阜南縣2025屆中考三模生物試題含解析
- 2024年醫(yī)療健康知識科普視頻制作合同3篇
- 廣東省廣州市花都區(qū)2024年七年級上學期期末數(shù)學試題【附答案】
- 期末測試模擬練習 (含答案) 江蘇省蘇州市2024-2025學年統(tǒng)編版語文七年級上冊
- 上海市徐匯區(qū)2024-2025學年高一語文下學期期末試題含解析
- 安全風險隱患舉報獎勵制度
- 江蘇省蘇州市2023-2024學年高三上學期期末考試 數(shù)學 含答案
- 線性代數(shù)知到智慧樹章節(jié)測試課后答案2024年秋貴州理工學院
- 建筑幕墻工程檢測知識考試題庫500題(含答案)
- 安防主管崗位招聘面試題及回答建議(某大型集團公司)2025年
- 消防疏散演練宣傳
- 2023-2024學年廣東省廣州市越秀區(qū)九年級(上)期末語文試卷
評論
0/150
提交評論