东南大学计算机网络第二次实验报告_第1页
东南大学计算机网络第二次实验报告_第2页
东南大学计算机网络第二次实验报告_第3页
东南大学计算机网络第二次实验报告_第4页
东南大学计算机网络第二次实验报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、东南大学自动化学院实验报告课程名称:信息通信网络概论14第2次实验实验名称:FTP客户端通信程序设计院(系):自动化专 业:自动化学 号:姓 名:实验室:金智楼5楼实验组别:同组人员:实验时间:2016年12月13日审阅教师:评定成绩:一. 实验目的和要求二. 实验原理三. 实验方案与实验步骤四. 实验设备与器材配置五. 实验记录六. 实验总计七.思考题或讨论题附录:部分代码实验目的和要求1.了解Windows下的TCP/IP通信方式与网络操作;2.熟悉FTP的编程的过程;3.学会用可视化编程语言编写调试简单的通信程序。实验原理在使用MFC编程时,要连接到FTP服务器是一件非常简单的事情,只需

2、要两个简单的步骤,首先必须建立一个CinternetSession对象,用类CinternetSession创建并初始化一个或几个同时存在的In ternet会话(Sessio n),并描述与代理服务器的连接(如果有必要的话),如果在程序运行期间需要保持与In ternet的廉洁,可以创建一个Cin ternetSession对象作为类Cwi nApp的成员。MFC中的类Cftp Co nn ection管理我们与In ternet服务器的连接,并直接操作服务器上的目录和文件,FTP时MFC的WinIn et支持的三个In ternet功能之一,我们需要先创建一个CinternetSessio

3、n实例和一个CftpConnection对象就可以实现和一个 FTP服务器通信,我们不需要直接创建 CftpConnection 对象,而是通过调用 CinternetSession:GetFtpConnection 来 完成这项工作。他创建 CFtpConnection 对象并返回一个指向该对象的指针。实验方案与实验步骤 (请绘制流程图)1、实验方案图3.1流程图2、实验步骤1)创建一个in ternet会话;2)建立与FTP服务器的连接;3)如果连接成功,获得当前登陆的缺省目录下所有的文件和目录名称;4)下载文件或上传文件;5)关闭连接。四. 实验设备与器材配置电脑、VC6.0五. 实验记

4、录1、界面(1) 输入:域名、用户名、密码;(2) 输出显示:文件目录列表、当前目录;(3) 按钮:连接、返回、上传、下载、删除、关闭。a Ftp0用户名: I anonym Olli文件目录列表:当前目录:图5.1界面设计2、功能描述(1) 连接到FTP主机,下载FTP文件服务器文件列表a Ftp图5.2连接到FTP主机,下载FTP文件服务器文件列表(2 )切换访问目录;a Ftp用户名: anonym OHS文件目录列恚:当目录:很目录'计算机网络图5.3切换访问目录(3 )向FTP服务器发送文件;58打幵查拱范HQ): SE臺面名称心冢惫3Administr

5、ator 烬计算机 确网諮 'CAJVfewer 7.2 IDOSBokO,74 Visual C + + 6.0l.txt大小项目类型meta 期1 KB2016/6/1 口2 KB2016/3/24 ;1 KB2016/11/281 KB2011/3/20 11 KBi<4x ra2016/12/11 Tnr文件名(S): 国 文件类型d): I图5.4向FTP服务器发送文件(4 )从FTP服务器下载文件。保存在(X):E克面项目类型打幵© I名称S庫 碍冢惫3.Administrator 禅计算机 婦(网帝2ZCAJviewer 72 僵 DO£B&qu

6、ot;074 (5 Visual C + + 6.0l.txtI- -r k< I文件名(M):大小1 KB2 KB1 KB1 KG1 KBnrmeta 期快捷方式A本文档2016/6/1 1;2016/3/24 ;2016/11/2S2011/3/20 12016/12/11pr oject-glob all lati fill, ppt保存类型(T): f图5.5从FTP服务器下载文件打幵I3、改进(1)从子目录返回根目录(按钮“返回”)运用函数SetCurrentDirectory()设定当前文件路径为"",即默认为根目录。(2) 显示当前目录(显示框“当前目录

7、” )在切换目录后,显示当前文件所在目录。 即在用户双击文件夹时将双击的文件夹名称添加为上一级目录,利用strSourceName实现。(3) 删除当前目录下的文件(按钮“删除”)获得列表中的数据,再获得用户在列表框中的选择。如果选择的是文件夹,则警告|127.C C 153 Ftp“不能删除文件夹”;如果选择的是文件,则运用RemoveO函数将选中的文件删除。用户名:|wQIiyiTlQLS文件目录列表:U.E5tI ex个人小结hex当前目录;根目录'自动化图5.6改进功能六. 实验总结1、实验结果分析(1)基础功能都能够较好的实现,在下载、上传文件的基础上增加删除的操作,能够将F

8、TP站点中的文件删除;2) 返回功能中,只能返回到根目录,不能实现返回上一级目录,尝试利用函数GetCurrentDirectory() 实现,没有能够做到,希望在后期的学习过程中能够解决这个 问题。2、总结思考通过整个实验的学习, 我对 FTP 的基本工作原理和工作流程有了非常深入的了解,且对处理文件的一些函数如 GetFileName() 、 IsDirectory() 、 GetFile() 、 PutFile() 、SetCurrentDirectory()、FindNextFile()、FindFile()、CftpFileFind()和与 FTP 建立会话和连接的函数 Cinter

9、netSession() 、 GetFtpConnection() 能够理解并熟练掌握。在对代码改进的过程中,又学习到很多其他的函数,能够利用已有的代码结构进行改进完善,实现功能,对于一些常见的错误也能够正确的改正,操作也更加熟练。相信在以后的学习过程中一定能够熟练运用这次实验中学到的东西。由于在实验室未能及时做完, 所以用自己电脑尝试搭建 FTP 站点, 学习到其整个搭建过程和一些权限设置过程,并且成功利用自己搭建的FTP 调试了程序。七 思考题或讨论题1.简述FTP客户端有几个进程工作,分别完成哪些工作?21),使客户进程能够连1) 主进程,负责接受新的请求。打开熟知端口(端口号为接上;等

10、待客户进程发出连接请求;启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要 还可能创建其他一些子进程。回到等待状态,继续接受其他客户进程发来的请求。主进程和从属进程的处理是并发进行的。2) 若干个从属进程,负责处理单个请求。2. FTP 服务与 NFS 服务 有什 么区 别。(1) NFS (网络文件系统)是 TCP/IP协议集所提供的一种子协议,该协议可以实现LINUX/UNIX 主机之间的文件共享。 本质上是文件系统, 主要在 Unix 系列操作系 统上使用,基于 TCP/IP 协议层,可以将远程的计算机磁盘挂载到本地,像本地磁 盘

11、一样操作。(2) FTP(文件传输协议)是TCP /IP协议栈所提供的一种子协议, 该子协议具体可以实现在以下功能:从客户向服务器发送一个文件;从服务器向客户发送一个文件;从 服务器向客户发送文件或目录列表。附录:(部分代码)1 、 返回 功能void CFtpDlg:OnReturn()m_strPath = " 根目录 "UpdateData(FALSE);if(pConnection->SetCurrentDirectory("")/ 设置当前文件路径为根目录 while(m_ListFile.GetCount()!=0) m_ListFil

12、e.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.Delete(strSou

13、rceName.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 notification handl

14、er 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 | MB_ICONSTO P);/ 激活查询和上传按钮m_BtnUpLoad.EnableWindo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论