




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、東南大學(xué)自動化學(xué)院實 驗 報 告課程名稱: 信息通信網(wǎng)絡(luò)概論 第2次實驗實驗名稱: FTP客戶端通信程序設(shè)計 院 (系): 自動化 專 業(yè): 自動化 姓 名: 學(xué) 號: 實 驗 室: 金智樓5樓 實驗組別: 同組人員: 實驗時間: 2016 年 12 月 13 日評定成績: 審閱教師: 目 錄一實驗?zāi)康暮鸵?二實驗原理3三. 實驗方案與實驗步驟3四實驗設(shè)備與器材配置4五實驗記錄4六實驗總計8七思考題或討論題9附錄:部分代碼一 實驗?zāi)康暮鸵?. 了解Windows下的TCP/IP通信方式與網(wǎng)絡(luò)操作;2. 熟悉FTP的編程的過程;3. 學(xué)會用可視化編程語言編寫調(diào)試簡單的通信程序。二 實驗原理在
2、使用MFC編程時,要連接到FTP服務(wù)器是一件非常簡單的事情,只需要兩個簡單的步驟,首先必須建立一個CinternetSession對象,用類CinternetSession創(chuàng)建并初始化一個或幾個同時存在的Internet會話(Session),并描述與代理服務(wù)器的連接(如果有必要的話),如果在程序運行期間需要保持與Internet的廉潔,可以創(chuàng)建一個CinternetSession對象作為類CwinApp的成員。 MFC中的類CftpConnection管理我們與Internet服務(wù)器的連接,并直接操作服務(wù)器上的目錄和文件,F(xiàn)TP時MFC的WinInet支持的三個Internet功能之一,我們
3、需要先創(chuàng)建一個CinternetSession實例和一個CftpConnection對象就可以實現(xiàn)和一個FTP服務(wù)器通信,我們不需要直接創(chuàng)建CftpConnection對象,而是通過調(diào)用CinternetSession:GetFtpConnection來完成這項工作。他創(chuàng)建CFtpConnection對象并返回一個指向該對象的指針。三 實驗方案與實驗步驟(請繪制流程圖)1、 實驗方案圖3.1 流程圖2、 實驗步驟1) 創(chuàng)建一個internet會話;2) 建立與FTP服務(wù)器的連接;3) 如果連接成功,獲得當(dāng)前登陸的缺省目錄下所有的文件和目錄名稱;4) 下載文件或上傳文件;5) 關(guān)閉連接。四 實驗
4、設(shè)備與器材配置電腦、VC6.0五 實驗記錄1、界面(1) 輸入:域名、用戶名、密碼;(2) 輸出顯示:文件目錄列表、當(dāng)前目錄;(3) 按鈕:連接、返回、上傳、下載、刪除、關(guān)閉。圖5.1 界面設(shè)計2、功能描述(1)連接到FTP主機,下載FTP文件服務(wù)器文件列表圖5.2 連接到FTP主機,下載FTP文件服務(wù)器文件列表(2)切換訪問目錄;圖5.3切換訪問目錄(3)向FTP服務(wù)器發(fā)送文件;圖5.4 向FTP服務(wù)器發(fā)送文件(4)從FTP服務(wù)器下載文件。圖5.5 從FTP服務(wù)器下載文件3、改進(1)從子目錄返回根目錄(按鈕“返回”)運用函數(shù)SetCurrentDirectory()設(shè)定當(dāng)前文件路徑為,即默
5、認(rèn)為根目錄。(2)顯示當(dāng)前目錄(顯示框“當(dāng)前目錄”)在切換目錄后,顯示當(dāng)前文件所在目錄。即在用戶雙擊文件夾時將雙擊的文件夾名稱添加為上一級目錄,利用strSourceName實現(xiàn)。(3)刪除當(dāng)前目錄下的文件(按鈕“刪除”)獲得列表中的數(shù)據(jù),再獲得用戶在列表框中的選擇。如果選擇的是文件夾,則警告“不能刪除文件夾”;如果選擇的是文件,則運用Remove()函數(shù)將選中的文件刪除。圖5.6 改進功能六 實驗總結(jié)1、實驗結(jié)果分析(1) 基礎(chǔ)功能都能夠較好的實現(xiàn),在下載、上傳文件的基礎(chǔ)上增加刪除的操作,能夠?qū)TP站點中的文件刪除;(2) 返回功能中,只能返回到根目錄,不能實現(xiàn)返回上一級目錄,嘗試?yán)煤瘮?shù)
6、GetCurrentDirectory()實現(xiàn),沒有能夠做到,希望在后期的學(xué)習(xí)過程中能夠解決這個問題。2、總結(jié)思考通過整個實驗的學(xué)習(xí),我對FTP的基本工作原理和工作流程有了非常深入的了解,并且對處理文件的一些函數(shù)如GetFileName()、IsDirectory()、GetFile()、PutFile()、SetCurrentDirectory()、FindNextFile()、FindFile()、CftpFileFind()和與FTP建立會話和連接的函數(shù)CinternetSession()、GetFtpConnection()能夠理解并熟練掌握。在對代碼改進的過程中,又學(xué)習(xí)到很多其他的函
7、數(shù),能夠利用已有的代碼結(jié)構(gòu)進行改進完善,實現(xiàn)功能,對于一些常見的錯誤也能夠正確的改正,操作也更加熟練。相信在以后的學(xué)習(xí)過程中一定能夠熟練運用這次實驗中學(xué)到的東西。由于在實驗室未能及時做完,所以用自己電腦嘗試搭建FTP站點,學(xué)習(xí)到其整個搭建過程和一些權(quán)限設(shè)置過程,并且成功利用自己搭建的FTP調(diào)試了程序。七 思考題或討論題1. 簡述FTP客戶端有幾個進程工作,分別完成哪些工作?(1) 主進程,負(fù)責(zé)接受新的請求。打開熟知端口(端口號為 21),使客戶進程能夠連接上;等待客戶進程發(fā)出連接請求;啟動從屬進程來處理客戶進程發(fā)來的請求。從屬進程對客戶進程的請求處理完畢后即終止,但從屬進程在運行期間根據(jù)需要還
8、可能創(chuàng)建其他一些子進程。回到等待狀態(tài),繼續(xù)接受其他客戶進程發(fā)來的請求。主進程和從屬進程的處理是并發(fā)進行的。(2) 若干個從屬進程,負(fù)責(zé)處理單個請求。2. FTP服務(wù)與NFS服務(wù)有什么區(qū)別。(1) NFS(網(wǎng)絡(luò)文件系統(tǒng))是TCP/IP協(xié)議集所提供的一種子協(xié)議,該協(xié)議可以實現(xiàn)LINUX/UNIX主機之間的文件共享。本質(zhì)上是文件系統(tǒng),主要在Unix系列操作系統(tǒng)上使用,基于TCP/IP協(xié)議層,可以將遠(yuǎn)程的計算機磁盤掛載到本地,像本地磁盤一樣操作。(2) FTP(文件傳輸協(xié)議)是TCP/IP協(xié)議棧所提供的一種子協(xié)議,該子協(xié)議具體可以實現(xiàn)在以下功能:從客戶向服務(wù)器發(fā)送一個文件;從服務(wù)器向客戶發(fā)送一個文件;
9、從服務(wù)器向客戶發(fā)送文件或目錄列表。附錄:(部分代碼)1、 返回功能void CFtpDlg:OnReturn() m_strPath = 根目錄;UpdateData(FALSE);if(pConnection-SetCurrentDirectory()/設(shè)置當(dāng)前文件路徑為根目錄while(m_ListFile.GetCount()!=0)m_ListFile.DeleteString(0);Find();2、 目錄顯示功能代碼如下:void CFtpDlg:OnDblclkListFile() UpdateData(TRUE);int nSel = m_ListFile.GetCurSel(
10、);CString strSourceName;/獲得用戶在列表框中的選擇m_ListFile.GetText(nSel,strSourceName);if(strSourceName.GetAt(0)=)/選擇的是目錄strSourceName.Delete(0,1);strSourceName.Delete(strSourceName.GetLength()-1,1);m_strPath = m_strPath+strSourceName;/顯示當(dāng)前目錄UpdateData(FALSE);if(pConnection-SetCurrentDirectory(strSourceName)wh
11、ile(m_ListFile.GetCount()!=0)m_ListFile.DeleteString(0);Find();3、 刪除功能代碼如下:void CFtpDlg:OnDelete() / TODO: Add your control notification handler code here/獲得當(dāng)前輸入UpdateData(TRUE);int nSel = m_ListFile.GetCurSel();/返回列表中被選擇的項CString strSourceName;/獲得用戶在列表框中的選擇m_ListFile.GetText(nSel, strSourceName);if
12、 (strSourceName.GetAt(0) != )/選擇的是文件CFileDialog dlg(FALSE, , strSourceName);/獲得文件源地址if (pConnection-Remove(strSourceName)AfxMessageBox(刪除成功! , MB_OK | MB_ICONINFORMATION);while(m_ListFile.GetCount()!=0)m_ListFile.DeleteString(0);Find();elseAfxMessageBox(刪除失敗! , MB_OK | MB_ICONSTOP);else/選擇的是目錄AfxMessageBox(不能刪除文件夾! , MB_OK | MB_ICONSTOP);/激活查詢和上傳按鈕m_BtnUpLoad.EnableWindow(TRUE);/m_BtnQuery.EnableWindow(TR
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- PLC控制系統(tǒng)的自動化送料裝車系統(tǒng)設(shè)計
- 公共教育餐廳管理辦法
- 高速公路行業(yè)的經(jīng)濟價值分析
- 團隊合作薪酬管理辦法
- 數(shù)字時代青少年網(wǎng)絡(luò)素養(yǎng)教育:文明上網(wǎng)提升機制的探索
- 粳稻花期性狀的遺傳量化與聚合效應(yīng)分析
- 基于《旅游景區(qū)質(zhì)量等級的劃分》的4A景區(qū)評審體系優(yōu)化研究
- 拜占庭藝術(shù)的魅力與傳承
- 民族成人登記管理辦法
- 江蘇牛羊屠宰管理辦法
- 餐飲約束員工管理制度
- PLC基礎(chǔ)知識課件下載
- 2025年中級消防設(shè)施操作員(監(jiān)控類)資格理論必背考試題庫(附答案)
- 2023秸稈類生物質(zhì)能源原料儲存規(guī)范第1部分:存放
- DB11 T 212-2009 園林綠化工程施工及驗收規(guī)范
- 感染性腹瀉患者護理常規(guī)
- 2023年1月國家開放大學(xué)漢語言文學(xué)本科《古代詩歌散文專題》期末紙質(zhì)考試試題及答案
- 2025年房東租房合同模板電子版
- 2025年中國智能城市軌道交通行業(yè)市場發(fā)展監(jiān)測及投資戰(zhàn)略咨詢報告
- 車輛檢測機構(gòu)整改報告模板
- DB37-T 2040-2023 金屬礦山尾礦干排安全技術(shù)規(guī)范
評論
0/150
提交評論