




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優質文檔-傾情為你奉上東南大學自動化學院實 驗 報 告課程名稱: 信息通信網絡概論 第2次實驗實驗名稱: FTP客戶端通信程序設計 院 (系): 自動化 專 業: 自動化 姓 名: 學 號: 實 驗 室: 金智樓5樓 實驗組別: 同組人員: 實驗時間: 2016 年 12 月 13 日評定成績: 審閱教師: 目 錄一實驗目的和要求······················
2、···············3二實驗原理··································
3、·········3三. 實驗方案與實驗步驟·································3四實驗設備與器材配置····
4、·····························4五實驗記錄····················
5、·······················4六實驗總計··························
6、·················8七思考題或討論題·······························
7、83;·····9附錄:部分代碼一 實驗目的和要求1. 了解Windows下的TCP/IP通信方式與網絡操作;2. 熟悉FTP的編程的過程;3. 學會用可視化編程語言編寫調試簡單的通信程序。二 實驗原理在使用MFC編程時,要連接到FTP服務器是一件非常簡單的事情,只需要兩個簡單的步驟,首先必須建立一個CinternetSession對象,用類CinternetSession創建并初始化一個或幾個同時存在的Internet會話(Session),并描述與代理服務器的連接(如果有必要的話),如果在程序運行期間需要保持與Internet的廉潔,可以創
8、建一個CinternetSession對象作為類CwinApp的成員。 MFC中的類CftpConnection管理我們與Internet服務器的連接,并直接操作服務器上的目錄和文件,FTP時MFC的WinInet支持的三個Internet功能之一,我們需要先創建一個CinternetSession實例和一個CftpConnection對象就可以實現和一個FTP服務器通信,我們不需要直接創建CftpConnection對象,而是通過調用CinternetSession:GetFtpConnection來完成這項工作。他創建CFtpConnection對象并返回一個指向該對象的指針。三 實驗方案
9、與實驗步驟(請繪制流程圖)1、 實驗方案圖3.1 流程圖2、 實驗步驟1) 創建一個internet會話;2) 建立與FTP服務器的連接;3) 如果連接成功,獲得當前登陸的缺省目錄下所有的文件和目錄名稱;4) 下載文件或上傳文件;5) 關閉連接。四 實驗設備與器材配置電腦、VC6.0五 實驗記錄1、界面(1) 輸入:域名、用戶名、密碼;(2) 輸出顯示:文件目錄列表、當前目錄;(3) 按鈕:連接、返回、上傳、下載、刪除、關閉。圖5.1 界面設計2、功能描述(1)連接到FTP主機,下載FTP文件服務器文件列表圖5.2 連接到FTP主機,下載FTP文件服務器文件列表(2)切換訪問目錄;圖5.3切換
10、訪問目錄(3)向FTP服務器發送文件;圖5.4 向FTP服務器發送文件(4)從FTP服務器下載文件。圖5.5 從FTP服務器下載文件3、改進(1)從子目錄返回根目錄(按鈕“返回”)運用函數SetCurrentDirectory()設定當前文件路徑為"",即默認為根目錄。(2)顯示當前目錄(顯示框“當前目錄”)在切換目錄后,顯示當前文件所在目錄。即在用戶雙擊文件夾時將雙擊的文件夾名稱添加為上一級目錄,利用strSourceName實現。(3)刪除當前目錄下的文件(按鈕“刪除”)獲得列表中的數據,再獲得用戶在列表框中的選擇。如果選擇的是文件夾,則警告“不能刪除文件夾”;如果選擇
11、的是文件,則運用Remove()函數將選中的文件刪除。圖5.6 改進功能六 實驗總結1、實驗結果分析(1) 基礎功能都能夠較好的實現,在下載、上傳文件的基礎上增加刪除的操作,能夠將FTP站點中的文件刪除;(2) 返回功能中,只能返回到根目錄,不能實現返回上一級目錄,嘗試利用函數GetCurrentDirectory()實現,沒有能夠做到,希望在后期的學習過程中能夠解決這個問題。2、總結思考通過整個實驗的學習,我對FTP的基本工作原理和工作流程有了非常深入的了解,并且對處理文件的一些函數如GetFileName()、IsDirectory()、GetFile()、PutFile()、SetCur
12、rentDirectory()、FindNextFile()、FindFile()、CftpFileFind()和與FTP建立會話和連接的函數CinternetSession()、GetFtpConnection()能夠理解并熟練掌握。在對代碼改進的過程中,又學習到很多其他的函數,能夠利用已有的代碼結構進行改進完善,實現功能,對于一些常見的錯誤也能夠正確的改正,操作也更加熟練。相信在以后的學習過程中一定能夠熟練運用這次實驗中學到的東西。由于在實驗室未能及時做完,所以用自己電腦嘗試搭建FTP站點,學習到其整個搭建過程和一些權限設置過程,并且成功利用自己搭建的FTP調試了程序。七 思考題或討論題1
13、. 簡述FTP客戶端有幾個進程工作,分別完成哪些工作?(1) 主進程,負責接受新的請求。打開熟知端口(端口號為 21),使客戶進程能夠連接上;等待客戶進程發出連接請求;啟動從屬進程來處理客戶進程發來的請求。從屬進程對客戶進程的請求處理完畢后即終止,但從屬進程在運行期間根據需要還可能創建其他一些子進程。回到等待狀態,繼續接受其他客戶進程發來的請求。主進程和從屬進程的處理是并發進行的。(2) 若干個從屬進程,負責處理單個請求。2. FTP服務與NFS服務有什么區別。(1) NFS(網絡文件系統)是TCP/IP協議集所提供的一種子協議,該協議可以實現LINUX/UNIX主機之間的文件共享。本質上是文
14、件系統,主要在Unix系列上使用,基于層,可以將遠程的計算機磁盤掛載到本地,像一樣操作。(2) FTP(文件傳輸協議)是所提供的一種子協議,該子協議具體可以實現在以下功能:從客戶向服務器發送一個文件;從服務器向客戶發送一個文件;從服務器向客戶發送文件或目錄列表。附錄:(部分代碼)1、 返回功能void CFtpDlg:OnReturn() m_strPath = "根目錄"UpdateData(FALSE);if(pConnection->SetCurrentDirectory("")/設置當前文件路徑為根目錄while(m_ListFile.Ge
15、tCount()!=0)m_ListFile.DeleteString(0);Find();2、 目錄顯示功能代碼如下:void CFtpDlg:OnDblclkListFile() UpdateData(TRUE);int nSel = m_ListFile.GetCurSel();CString strSourceName;/獲得用戶在列表框中的選擇m_ListFile.GetText(nSel,strSourceName);if(strSourceName.GetAt(0)='')/選擇的是目錄strSourceName.Delete(0,1);strSourceName
16、.Delete(strSourceName.GetLength()-1,1);m_strPath = m_strPath+""+strSourceName;/顯示當前目錄UpdateData(FALSE);if(pConnection->SetCurrentDirectory(strSourceName)while(m_ListFile.GetCount()!=0)m_ListFile.DeleteString(0);Find();3、 刪除功能代碼如下:void CFtpDlg:OnDelete() / TODO: Add your control notifica
17、tion handler code here/獲得當前輸入UpdateData(TRUE);int nSel = m_ListFile.GetCurSel();/返回列表中被選擇的項CString strSourceName;/獲得用戶在列表框中的選擇m_ListFile.GetText(nSel, strSourceName);if (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 | M
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司代理人授權法定代表人聲明3篇
- 家具招標文件編寫技巧詳解指南3篇
- 合同違約解決律師法律3篇
- 堅守法律底線的責任書3篇
- 代購服務委托書3篇
- 定金合同轉讓接收協議3篇
- 發電機組采購招標計劃3篇
- 單位勞動爭議處理委托書范例3篇
- 對講機租借守則3篇
- 建筑工程授權委托書樣本3篇
- 財務機器人開發與應用實戰 課件 任務5 E-mail人機交互自動化-2
- 【華為】通信行業:華為下一代鐵路移動通信系統白皮書2023
- Python 程序設計智慧樹知到期末考試答案章節答案2024年四川師范大學
- 03D201-4 10kV及以下變壓器室布置及變配電所常用設備構件安裝
- 城鄉環衛保潔投標方案(技術標)
- 充值合同范本
- MSDS中文版(鋰電池電解液)
- 《職業病防治法》知識考試題庫160題(含答案)
- 全國初中數學青年教師優質課一等獎《反比例函數的圖象和性質》教學設計
- 2023-2024學年人教版數學八年級下冊期中復習卷
- 環境監測儀器安裝施工方案(更新版)
評論
0/150
提交評論