




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验五 FTP客户端程序1实验目的文件传送协议FTP是Internet中广泛使用的服务协议之一,FTP协议是客户/服务器之间进行文件传递的协议。l 理解FTP协议的工作原理l 掌握FTP客户程序的编程方法l 理解在FTP传输过程中建立的两个连接2实验内容利用WinSock编程接口编写FTP客户程序,在用户界面中给出必要的FTP服务器信息:FTP服务器的IP地址、用户名、口令等,通过FTP协议实现指定文件的上载和下载操作。3实验环境程序运行环境为以太网,采用TCP/IP协议栈,网络操作系统为Windows,具有Internet连接能力。程序开发环境为vs2012。4实验步骤步骤1 需求分析FTP客户程序功能为:(1) FTP客户程序首先显示用户界面,可以指定FTP服务器的地址、用户名和口令等信息(2) 通过FTP协议接收FTP服务器的当前目录列表,并显示本地和远程目录列表信息(3) 可以实现本地和远程目录的切换(4) 可以实现文件的上载和下载操作步骤2 FTP客户程序开发用Visual C+编写FTP客户程序,利用WinSock编程接口实现FTP协议通信。FTP客户程序首先显示用户界面,使用户可以指定FTP服务器和用户、口令信息(可以采用匿名方式),点击连接按钮后,向FTP服务器的TCP 21号端口建立TCP连接,在控制连接上发送FTP命令,首先获得本地和远程系统的目录列表并显示,可以进行目录切换等操作,指定上、下载的文件建立数据连接进行文件传送。步骤3 编译和执行程序将FTP客户程序编译、连接成执行程序,运行FTP客户程序。填写校园网的FTP服务器IP和用户、口令信息,进行各种FTP操作(文件上载、下载)。5具体实现(1) 数据结构分析 定义FileItem结构来保存文件信息typedef struct FileItemint nItem;/ 在列表框中的索引BOOL bDir;/ 判断是否为文件夹CString strFileName;/ 文件名FILEITEM; 主对话框类完成FTP的大部分功能其中: ID_control成员变量:CListCtrlm_ctrlRemoteFiles; / IDC_LIST_REMOTE 映射的列表型变量CListCtrlm_ctrlLocalFiles; / IDC_LIST_LOCAL 映射的列表型变量CStringm_strPassword; / IDC_PASSWORD 映射的CString型变量CStringm_strServer; / IDC_SERVER 映射的CString型变量CStringm_strUserName; / IDC_USER 映射的CString型变量 其他添加功能所需成员变量:CInternetSession* m_pInetSession;/ 会话对象CFtpConnection* m_pFtpConnection;/ 连接对象CFtpFileFind* m_pRemoteFinder;/ 远程查找文件对象CFileFind m_LocalFinder;/ 本地查找文件对象CString m_strLocalParentRoot;/ 本地文件目录的上上一层目录CString m_strRemoteParentRoot;/ 远程文件目录的上上一层目录CArraym_arrLocalFiles;/ 保存本地文件信息CArraym_arrRemoteFiles;/ 保存远程文件信息 成员函数:/* 初始化程序 */BOOL CMyFtpDlg:OnInitDialog()/* 给列表控件CListCtrl增加标题头 */void CMyFtpDlg:AddHeaders(CListCtrl* pLstCtrl)/* 给列表框增加一条记录 */void CMyFtpDlg:AddItem(CListCtrl* pLstCtrl,int nIndex,BOOL bDir,CString strText)/* 响应“download”按钮 */void CMyFtpDlg:OnDownload()/* 响应“Upload”按钮 */void CMyFtpDlg:OnUpload()/* 下载单个文件 */void CMyFtpDlg:DownFile(FILEITEM fileItem)/* 上传单个文件 */void CMyFtpDlg:UpFile(FILEITEM fileItem)/* 连接ftp服务器 */void CMyFtpDlg:OnConnect()/* 获得指定目录下的所有文件,并在列表框中显示 */void CMyFtpDlg:BrowseDir(CString strDir,CListCtrl* pLstCtrl,CFileFind* pFinder,CArray* pFilesArr)/* 本地文件目录中向上一层 */void CMyFtpDlg:OnLocalUp()/* 远程文件目录中向上一层 */void CMyFtpDlg:OnRemoteUp() 主要函数1在OnInitDialog()函数中进行对话框、列表的初始化,并且设定本地文件目录的默认路径为C盘为根目录。2在OnConnect()函数中首先进行刷新来捕获是否进行连接,如果有操作,则新建对话:m_pInetSession=new CInternetSession(AfxGetAppName(),1,PRE_CONFIG_INTERNET_ACCESS);然后catch(CInternetException *pEx)进行错误捕获,然后定义远程文件变量以获得服务器根目录的所有文件并在列表框中显示m_pRemoteFinder = new CFtpFileFind(m_pFtpConnection);BrowseDir(,&m_ctrlRemoteFiles,m_pRemoteFinder,&m_arrRemoteFiles);3. BrowseDir()函数的功能为获得指定目录下的所有文件,并在列表框中显示,利用BOOL res = pFinder-FindFile(szDir)查找目录下的文件,利用pFinder-IsDirectory() & !pFinder-IsDots()判断是目录还是文件(2)FTP客户端工作流程及结果l 首先在本机配置ftp服务器不作具体说明,配置后服务器地址为37l 使用匿名账户进行登录点击匿名登陆按钮并点击连接时,用户名自动出现“anonymous”,并进行连接。l 上下层切换功能本地目录进入123子目录l 下载与上传功能可将文件下载至123子目录下面。也可将123目录下的文件上传至服务器六. 实验总结 通过实验加深了我对FTP的理解。FTP(File Transfer Protocol)是 Internet 上用来传送文件的协议(文件传输协议)。它是为了我们能够在 Internet 上互相传送文件而制定的的文件传送标准,规定了 Internet 上文件如何传送。也就是说,通过 FTP 协议,我们就可以跟 Internet 上的 FTP 服务器进行文件的上传(Upload)或下载(Download)等动作。和其他 Internet 应用一样,FTP 也是依赖于客户程序/服务器关系的概念。在 Internet 上有一些网站,它们依照 FTP 协议提供服务,让网友们进行文件的存取
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽车指标转让协议与汽车按揭贷款合同3篇
- 工厂车间生产管理经营承包合同书3篇
- 医用纯水销售合同范本
- 快递代收点合同范本
- 聘用简单运营合同范本
- 焊工作业压力焊模拟题及答案
- 智博英语必做题目及答案
- 教师个人校本培训计划2025(5篇)
- 2025年生物心脏瓣膜试题及答案
- 2025年首调旋律听写题库及答案
- 《普通话》教学讲义课件
- 比喻(教学课件)
- 烧结基础知识课件
- 高中生物第一课-(共24张)课件
- 皮肤科质量控制指标
- 新教师跟岗学习实施方案
- 2022年高考全国甲卷:写作指导及范文课件16张
- 郭锡良《古代汉语》讲稿(不仔细看别后悔哦)
- 新媒体文案创作与传播精品课件(完整版)
- 齿轮制造工艺手册
- 8D培训教材(共37页).ppt
评论
0/150
提交评论