網(wǎng)絡(luò)程序課程設(shè)計(jì)FTP客戶端資料_第1頁
網(wǎng)絡(luò)程序課程設(shè)計(jì)FTP客戶端資料_第2頁
網(wǎng)絡(luò)程序課程設(shè)計(jì)FTP客戶端資料_第3頁
網(wǎng)絡(luò)程序課程設(shè)計(jì)FTP客戶端資料_第4頁
網(wǎng)絡(luò)程序課程設(shè)計(jì)FTP客戶端資料_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、網(wǎng)絡(luò)程序開發(fā)課程設(shè)計(jì)報(bào)告使用.NET技術(shù)編寫FTP客戶端學(xué) 院(系):計(jì)算機(jī)科學(xué)與工程學(xué)院專業(yè):網(wǎng)絡(luò)工程指導(dǎo)老師:學(xué)生姓名:劉凡學(xué)號(hào):11303090122時(shí)間:從2016年1月11日到2016年1月15日網(wǎng)絡(luò)程序開發(fā)課程設(shè)計(jì)使用.NET技術(shù)編寫FTP客戶端目錄1課題任務(wù)及要求1.1.1課題任務(wù)及要求 12組員任務(wù)分工 2.2.1組員任務(wù)及分工 24課題相關(guān)算法及實(shí)現(xiàn)步驟4.4.1 用戶登錄服務(wù)器,列表更新 44.2 雙擊事件功能的實(shí)現(xiàn) 64.3 登錄失敗獲得服務(wù)器的響應(yīng)信息 74.4 刪除指定文件及文件夾 84.5 瀏覽上傳文件 94.6 上傳文件 94.7 下載文件 114.8 實(shí)現(xiàn)步驟

2、135實(shí)現(xiàn)功能及操作簡(jiǎn)介.145.1 連接服務(wù)器 145.2 服務(wù)器響應(yīng)信息 145.3 瀏覽 145.4 上傳 155.5 下載 155.6 刪除 165.7 進(jìn)入目錄和返回上級(jí)目錄 165.8 退出 166實(shí)驗(yàn)結(jié)果及分析 1.76.1 用戶登錄結(jié)果 176.2 服務(wù)器響應(yīng)信息結(jié)果 176.3 瀏覽結(jié)果 186.4 上傳結(jié)果 186.5 下載結(jié)果 196.6 刪除結(jié)果 206.7 進(jìn)入目錄及返回上級(jí)目錄結(jié)果 216.8 退出 217心得體會(huì)228參考文獻(xiàn)23網(wǎng)絡(luò)程序開發(fā)課程設(shè)計(jì)使用.NET技術(shù)編寫FTP客戶端1課題任務(wù)及要求1.1 課題任務(wù)及要求課題:使用.NET技術(shù)編寫FTP客戶端設(shè)計(jì)要求

3、:FTP客戶端:(1)根據(jù)服務(wù)器的IP地址,用戶名,密碼登陸FTP服務(wù)器。(2)客戶端上顯示服務(wù)器響應(yīng)信息。(3)登陸成功后,客戶端上顯示服務(wù)器 FTP目錄及文件(目錄和文件顯示 加以區(qū)別)。(4)用戶雙擊目錄后可以進(jìn)入該目錄中,也可以雙擊“返回上級(jí)目錄”, 返回到上層目錄。(5)用戶將本地文件上傳至FTP服務(wù)器,以及采用多線程技術(shù)從服務(wù)器上 下載文件。(6)實(shí)現(xiàn)刪除服務(wù)器上指定的文件和文件夾。課題組人數(shù):限1人。132組員任務(wù)分工2.1組員任務(wù)及分工PPT劉凡11303090122 任務(wù)分工:完成程序源碼,編寫實(shí)驗(yàn)文檔和3相關(guān)知識(shí)簡(jiǎn)介3.1 FTPFTP是File Transfer Prot

4、ocol (文件傳輸協(xié)議)的英文簡(jiǎn)稱,而中文簡(jiǎn)稱 為“文傳協(xié)議”。用于Internet上的控制文件的雙向傳輸。同時(shí),它也是一個(gè) 應(yīng)用程序(Application )。基于不同的操作系統(tǒng)有不同的FTP應(yīng)用程序,而所有這些應(yīng)用程序都遵守同一種協(xié)議以傳輸文件。在FTP的使用當(dāng)中,用戶經(jīng)常遇到兩個(gè)概念:"下載"(Download)和"上傳"(Upload)。"下載"文件就是從遠(yuǎn)程 主機(jī)拷貝文件至自己的計(jì)算機(jī)上;"上傳"文件就是將文件從自己的計(jì)算機(jī)中拷貝 至遠(yuǎn)程主機(jī)上。用Internet語言來說,用戶可通過客戶機(jī)程序向(從)

5、遠(yuǎn)程主 機(jī)上傳(下載)文件。3.2 Serv-U 軟件Serv-U是當(dāng)前眾多的FTP服務(wù)器軟件之一。通過使用Serv-U ,用戶能夠?qū)?任何一臺(tái)PC設(shè)置成一個(gè)FTP服務(wù)器,這樣,用戶或其他使用者就能夠使用FTP協(xié)議,通過在同一網(wǎng)絡(luò)上的任何一臺(tái)PC與FTP服務(wù)器連接,進(jìn)行文件或目錄的復(fù)制,移動(dòng),創(chuàng)建,和刪除等。這里提到的FTP協(xié)議是專門被用來規(guī)定計(jì)算機(jī)之間進(jìn)行文件傳輸?shù)臉?biāo)準(zhǔn)和規(guī)則,正是因?yàn)橛辛讼馞TP這樣的專門協(xié)議,才使得人們能夠通過不同類型的計(jì)算機(jī),使用不同類型的操作系統(tǒng),對(duì)不同類型的文 件進(jìn)行相互傳遞。3.4 相關(guān)FTP操作命令FtpWebRequest類用于實(shí)現(xiàn)文件傳輸協(xié)議(Ftp)客戶端

6、的操作,用該類的 Create方法初始化新的WebRequestX寸象,然后用該類的Method屬性指定當(dāng)前 請(qǐng)求的命令是什么,這個(gè)值定義在結(jié)構(gòu)體 WebRequestMethods.ftp中,本次程序 用到的命令有ListDirectoryDetails獲取文件詳細(xì)列表、DeleteFile刪除文件、RemoveDirectory 刪除目錄、DownloadFile 下載文件、UploadFile 上傳文件等。4課題相關(guān)算法及實(shí)現(xiàn)步驟4.1 用戶登錄服務(wù)器,列表更新private void btnDenglu_Click( object sender, EventArgs e)FileLis

7、t =""connect。;public void connect。listBoxInfo.Items.Clear();tryftpServerIp = txtIp.Text;ftpUserID = txtUsername.Text;ftpPassword = txtPwd.Text;req =(FtpWebRequest) FtpWebRequestCreate( new Uri ("ftp:/"+ ftpServerIp+ "/"+FileList);req.Credentials =new NetworkCredential (

8、ftpUserID, ftpPassword);req.KeepAlive =false ;req.Method =WebRequestMethods Ftp.ListDirectoryDetails;req.UseBinary =true ;FtpWebResponseresponse = GetFtpResponse(req);listBoxInfo.Items.Add("服務(wù)器返回:"+ response.StatusDescription);StreamReader reader = new StreamReader(response.GetResponseStre

9、am(); /string s = reader.ReadToEnd();string 口 ftpDir = s.Split( Environment .NewLine.ToCharArray(), StringSplitOptions .RemoveEmptyEntries);listBoxInfo.Items.AddRange(ftpDir);listBoxInfo.Items.Add("服務(wù)器返回:"+ response.StatusDescription);ftpFileBox.Items.Add("返回上級(jí)目錄");for ( int i =

10、0; i < ftpDir.Length; i+)string 口 fileinfo = ftpDiri.Split('');string type = null ;string filename = fileinfofileinfo.Length - 1;if (filename ="." | filename =".")continue ;elseif (fileinfo0.IndexOf( 'd' ) != -1)type ="< 目錄 >"elsetype ="<

11、; 文件 >"ftpFileBox.Items.Add(type +" " + filename);reader.Close();response.Close();btnDenglu.Enabled =falsecatch ( Exception ex)MessageBoxShow("登陸失??!");MessageBoxShow(ex.ToString();4.2 雙擊事件功能的實(shí)現(xiàn)private void ftpFileBox_MouseDoubleClick( object sender, MouseEventArgs e)trySt

12、ring item = ftpFileBox.SelectedItem.ToString().Split('');string type = item0;if (type.Equals("< 目錄 >")string file = item1;FileList += (file +"/");/ 進(jìn)入目錄 ftp:/ ServerIp/ 目錄名/ftpFileBox.Items.Clear();connect。;elseif (ftpFileBox.SelectedItem.ToString()="返回上級(jí)目錄&quo

13、t;)FileList =""ftpFileBox.Items.Clear();connect。;catch ( Exception ex)MessageBoxShow(ex.Message);4.3登錄失敗獲得服務(wù)器的響應(yīng)信息private FtpWebResponseGetFtpResponse( FtpWebRequest request) FtpWebResponseresponse = null ;tryresponse = (FtpWebResponserequest.GetResponse();return response;catch ( WebExcept

14、ion err)listBoxInfo.Items.Add(”出現(xiàn)異常,F(xiàn)TP返回狀態(tài):"+ err.Status.ToString();FtpWebResponsee =(FtpWebResponseerr.Response;listBoxInfo.Items.Add("Status Code :"+ e.StatusCode);listBoxInfo.Items.Add("Status Description :"+ e.StatusDescription);return null ;catch ( Exception err)listBo

15、xInfo.Items.Add(err.Message);return null ;4.4刪除指定文件及文件夾private void btnShanchu_Click( object sender, EventArgs e) String item = ftpFileBox.SelectedItem.ToString().Split('');string type = item0;string file = FileList + item1;if (ftpFileBox.SelectedIndex > -1) try if (type.Equals("<

16、 文件 >")req = (FtpWebRequest) FtpWebRequestCreate( new Uri ("ftp:/"+ftpServerIp +"/" + file);req.Credentials =new NetworkCredential (ftpUserID, ftpPassword);req.KeepAlive =false ;true ;req.UseBinary =req.Method =WebRequestMethods Ftp.DeleteFile;FtpWebResponseresponse = ( F

17、tpWebResponsereq.GetResponse();MessageBoxShow("刪除文件成功!");elsereq =(FtpWebRequest) FtpWebRequestCreate( new Uri ("ftp:/"+ftpServerIp +"/" + file);req.Credentials =new NetworkCredential (ftpUserID, ftpPassword);false ;req.KeepAlive =req.UseBinary =true;req.Method =WebRequ

18、estMethods Ftp.RemoveDirectory;FtpWebResponseresponse = ( FtpWebResponsereq.GetResponse();MessageBoxShow("刪除成功!");ftpFileBox.Items.Clear();connect。;catch ( Exception ex)MessageBoxShow(ex.Message);4.5 瀏覽上傳文件private void btnLiulan_Click( object sender, EventArgs e)if (btnDenglu.Enabled = tru

19、e )MessageBoxShow("t!?登?陸?FTP小 笠?器+ ! ?");elseopenFileDialog1.ShowDialog();txtShangchuan.Text = openFileDialog1.FileName;/ 獲取文件路徑和文件名4.6 上傳文件private void btnShangchuan_Click( object sender, EventArgs e)if (txtShangchuan.Text ="")MessageBoxShow("沒?有甌選?擇?要癮上?傳?的?文?件t! ?")

20、;elsestring FileSites = txtShangchuan.Text;FileInfo fileInf = new FileInfo (FileSites);+ "/" + fileInf.Name);req.Credentials =req.KeepAlive =req.Method =req.UseBinary =req = (FtpWebRequest) FtpWebRequestCreate( new Uri ("ftp:/"+ ftpServerIpnew NetworkCredential (ftpUserID, ftpPas

21、sword);false ;WebRequestMethods Ftp.UploadFile;true ;byte 口 buff = new byte 1024; /1024 為緩沖區(qū)大小int ContentLen;/打開一個(gè)文件流上傳文件FileStream fs = fileInf.OpenRead();tryStream strm = req.GetRequestStream();ContentLen = fs.Read(buff, 0, 1024);/流內(nèi)容沒有結(jié)束while (ContentLen != 0)/ 把內(nèi)容從 file stream 寫入 upload streamst

22、rm.Write(buff, 0, ContentLen);ContentLen = fs.Read(buff, 0, 1024);strm.Close();/ 關(guān)閉流fs.Close();txtShangchuan.Text =""MessageBoxShow("上傳成功!");ftpFileBox.Items.Clear();connect。;catch ( Exception ex)MessageBoxShow(ex.ToString();4.7 下載文件private void btnXiazai_Click( object sender, Ev

23、entArgs e)if (ftpFileBox.SelectedIndex > -1)String item = ftpFileBox.SelectedItem.ToString().Split('');string type = item0;string file = FileList + item1;if (type.Equals("< 文件 >")tryftpServerIp +"/" + file);req.Credentials =req.Method =req.UseBinary =req = (FtpWe

24、bRequest) FtpWebRequestCreate( new Uri ("ftp:/"+new NetworkCredential (ftpUserID, ftpPassword);WebRequestMethods Ftp.DownloadFile;true ;SaveFileDialog save = new SaveFileDialog ();save.FileName = file;if (save.ShowDialog() = DialogResult .OK)FileStream outputStream = new FileStream (save.F

25、ileName,FileMode .Create);FtpWebResponseresponse = ( FtpWebResponsereq.GetResponse();Stream ftpStream = response.GetResponseStream();int readCount;byte 口 buffer = new byte 1024;readCount = ftpStream.Read(buffer, 0, 1024);while (readCount > 0)outputStream.Write(buffer, 0, readCount);readCount = ft

26、pStream.Read(buffer, 0, 1024);ftpStream.Close();outputStream.Close();response.Close();MessageBoxShow("下載成功!");ftpFileBox.Items.Clear();connect。;catch ( Exception ex)MessageBoxShow(ex.ToString(); elseMessageBoxShow("不能下載目錄!");elseMessageBoxShow("請(qǐng)選擇文件進(jìn)行下載!");4.8 實(shí)現(xiàn)步驟1 .窗

27、體UI布局設(shè)計(jì)。2.FTP服務(wù)器的搭建。3.連接FTP服務(wù)器,實(shí)現(xiàn)用戶 登錄。4.雙擊事件。5.服務(wù)器響應(yīng)。6.上傳文件。7.下載文件。8.刪除文件及目 錄。8.退出程序。網(wǎng)絡(luò)程序開發(fā)課程設(shè)計(jì)使用.NET技術(shù)編寫FTP客戶端5實(shí)現(xiàn)功能及操作簡(jiǎn)介5.1 連接服務(wù)器圖5-1連接服務(wù)器5.2 服務(wù)器響應(yīng)信息圖5-2服務(wù)器響應(yīng)信息5.3瀏覽14網(wǎng)絡(luò)程序開發(fā)課程設(shè)計(jì)使用.NET技術(shù)編寫FTP客戶端登錄請(qǐng)登陸FTP黑芳器!圖5-3(a)瀏覽圖5-3(b)瀏覽5.4上傳5.5下載16文件列表文件操作F : liufanD ownLciadX funny, png瀏覽上傳下.圖5-4上傳網(wǎng)絡(luò)程序開發(fā)課程設(shè)計(jì)使

28、用.NET技術(shù)編寫FTP客戶端22FTF用條器氈址現(xiàn)址:l£T.O.a. I3.另存為» 計(jì)譚叫學(xué)習(xí)覆 *' liufjnCQWTiLQddsk-宜的國5.pdf苔烹H品:a臺(tái)j| RR漁3 ®iT«小方樂慘改日用文件更作:*-計(jì)?m& Win7»64 3u DO口軟件隔 一學(xué)習(xí)舊.眼落W逅回:1融 Opeai'iLC ASCII Mt, gnAMh 的 fai JmUMMUMinau1 inisqvcw Aimfll Tjw I +門,用的鳥山圖5-5下載5.6刪除文件列表H1 目文文目目目目 < W <

29、< < <,", 統(tǒng)統(tǒng) 羹 teelo!樂戲文>>1i-uTLXn - TJ f 愿原4卷桅口圖5-6刪除5.7進(jìn)入目錄和返回上級(jí)目錄文件列表圖5-7進(jìn)入目錄和返回上級(jí)目錄5.8退出6實(shí)驗(yàn)結(jié)果及分析6.1 用戶登錄結(jié)果分析:通過連接FTP服務(wù)器,實(shí)現(xiàn)用戶的登錄口 1 Formlftf而務(wù)器地址地址:127.0.0. 1FIT服勞器登錄用戶名;liufui密碼;mm登錄文件列表刪除pd案 .答C卷 am 黑 儲(chǔ) unpjTi -i rj 原印 統(tǒng)統(tǒng) 1 t股 si文件操作一 一 »: 上-一 丁瀏覽服務(wù)器響應(yīng)信.息drwxrwxrwx drvrx

30、TwxrwK1 user1 usergroup group JmD Jan13 23:1813 23.18 .drvfKTWxrwK.1 usergroup0 Jan13 23146 pEI"rw-rw-rw"1 usergroup389204 D«c13 15:06 1-rw-rw-rw-1 usergroup733030 Dtc13 15:0B 齷data coMiecti on for /bin/ls.:150 Opening ASCII mode388 bytes tr ansferred. 0. 38 IS/sec.月員勞器返回:226 TraiiEEe

31、r complete.退出圖6-1用戶登錄結(jié)果6.2 服務(wù)器響應(yīng)信息結(jié)果分析:通過FtpWebRespons或得服務(wù)器的響應(yīng)信息.服勞器響應(yīng)信息服務(wù)器返回:150 Opening ASCII mode data coimacti on for /bin/ls.1usergroup0J皿1410:04drwxrwxrwx1usergroup0Jan141004-rw-rw-rw-1線。up10587J亞1410:0Qftp txtdrwxrwxrwx1usergroup0Jan1323:46ppt-rw-rw-rw-r 冒一i卅一rw 噩務(wù)器返回:11226uwuserJ Traosfer安ou

32、p group complete.389204 5733030 D"452 bytes 1tr ansferred, 0. 44 KB/sec.退出圖6-2(a)服務(wù)器響應(yīng)信息結(jié)果期棄器響應(yīng)信息出現(xiàn)異常,F(xiàn)TF返回狀態(tài):FrctocolErrorStatus Code : MotLoggedlnStatus Description :530 Sort咒 no ABDNTMOUS access allowed.圖6-2(b)服務(wù)器相應(yīng)信息結(jié)果6.3 瀏覽結(jié)果分析:控件openFileDialog打開文件路徑乂什保I卜A*irii-iiHir nrn i in r i iiBiriini

33、* /.F: liufanDQwiiLa&dftp. txt:劉第: 上傳不載圖6-3瀏覽結(jié)果6.4 上傳結(jié)果分析:通過文件路徑找到文件信息,用 fs.stream 文件流實(shí)現(xiàn)上傳文件圖6-4(a)上傳結(jié)果級(jí)目錄,dec圖6-4(b)上傳結(jié)果6.5 下載結(jié)果分析:創(chuàng)建流outputstream 輸出文件圖6-5(a)下載結(jié)果l_E產(chǎn)計(jì)算機(jī)學(xué)習(xí)(F:) liufan Down LoadT度素 /fufsnDownlosd二桌面二最近訪問的位置庫, PPTW頻三暴鳳勖昨1視頻名稱_ ftp.txt修改日期類型2016/1/14 10:14立小色檔大小F)奉患查看時(shí)工具幫助四)包含到庫中, 共享, 刻錄軌建史I駿圖6-5(b)下載結(jié)果6.6 刪除結(jié)果分析:前綴type為“ 文件”時(shí)刪除文件;前綴type為“ 目錄”刪除目消定圖6-6(a)刪除結(jié)果文件列表£)?.M案管楊口f卷8m 梟 醺 JJ - BJJ- E- LU 二 1IJ 原原統(tǒng)統(tǒng)i>>>>

溫馨提示

  • 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)論