FTP客户端课程设计报告书
《计算机网络》课程设计
课题名称 FTP客户机搭建 学院 信息工程学院 专业 网络工程 班级 学号 姓名
目录和索引
一、需求分析------------------------------------------2
1、功能需求
2、开发环境与工具 3、所需要知识
二、知识理解 -----------------------------------------2
1、FTP实现的基本原理 (1)概要
(2)上传和下载
(3)用户FTP和匿名FTP (4)ASCII和Binary (5)Port和Passive
三、完成进度-----------------------------------------3
1、已完成部分
2、未完成部分 3、还需改善的部分
四、FTP服务工作过程---------------------------------4 五、详细设计-----------------------------------------5
1、CFtpDlg类的一些函数定义………………………………………………5 2、CFtpOperate的一些函数定义……………………………………………17
六、测试结果----------------------------------------29 七、用户手册----------------------------------------32 八、实验总结----------------------------------------32
第1页
FTP客户端程序
一、需求分析
1、功能需求
(1)实现一个图形用户界面的FTP客户端,保证文件的安全传输和存储。 (2)提供登录界面,上传下载界面、帮助界面、关于界面。
(3)通过输入服务器地址、用户名和密码,可以实现远程FTP主机的登录。
(4)提供本地文件和文件夹的上传功能,可对FTP主机文件进行下载和删除文件。 (5)提供对本地目录的读取与返回,能正确列出文件和文件夹,在没有登录服务器前可以作为一个简单的文件查询工具对本地文件进行查询。 (6)帮助页面可以对用户提供使用说明。 (7)关于界面包含设计者的信息。
(9)要求开发出的FTP客户端符合标准FTP协议规范,支持ASCII传输模式和二进制
数据传输模式
(10)FTP的两种工作模式的选择Port模式(主动)和Passive模式(被动)
2、开发环境与工具
(1)使用的IDE:使用VC++6.0作为开发环境IDE (2)使用的语言:C++
(3)使用的开发包:使用MFC和WinInet (4)开发平台:Windows 7
3、所需要知识
(1)计算机网络的基本知识
(2)了解FTP基本实现原理
(2)使用VC++6.0IDE进行MFC程序开发的基本知识 (3)熟悉WinInet中属于FTP部分的操作 (4)熟悉文件或文件夹操作
(5)熟悉控件的操作,如在List Ctrol添加图片(浏览文件或文夹的图标)
二、知识理解
1、FTP实现的基本原理 (1)概要
Internet是一个非常复杂的计算机环境, Internet上的计算机已有上千万台,而这些计算机可能运行不同的操作系统,有运行Unix的服务器,也有运行Dos、Windows的PC机等等,而各种操作系统之间的文件交流问题,需要建立一个统一的文件传输协议,这就是所谓的FTP。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议,这样用户就可以把自己的文件传送给别人,或者从其它的用户环境中获得文件。
FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。使用FTP时必须首先登录,在远程主机上获得相应的权限以后,方可下载或上传文件。
(2)上传和下载
\下载\文件就是从远程主机拷贝文件至自己的计算机上;
第2页
\上传\文件就是将文件从自己的计算机中拷贝至远程主机上 (3)用户FTP和匿名FTP
用户FTP: 种方式为已在FTP服务器上建立了特定帐号的用户使用,需要合法的
用户名和密码才能登录到远程计算机传输文件。
匿名FTP:用户作为“anonymous” 登录到FTP服务器,不需要有自己的用户名和
密码。
(4)ASCII和Binary
ASCII: 文本传输器使用ASCII字符,并由回车键和换行符分开 Binary:二进制不用转换或格式化就可传字符,二进制模式比文本模式更快,并且
可以传输所有ASCII值,所以系统管理员一般将FTP设置成二进制模式。
(5)Port和Passive
Port模式( 主动):FTP 客户端首先和FTP服务器的TCP 21端口建立连接,通过
这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。
Passive模式(被动):Passive模式在建立控制通道的时候和Standard模式类似,但
建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。
三、完成进度 1、已完成部分
(1)实现一个图形用户界面的FTP客户端,保证文件的安全传输和存储。 (2)提供登录界面,上传下载界面、帮助界面、关于界面
(3)通过输入服务器地址、用户名和密码,可以实现远程FTP主机的登录。 (4)提供本地文件上传功能,可对FTP主机文件进行下载和删除文件。
(5)提供对本地目录的读取与返回,能正确列出文件和文件夹,在没有登录服务器
前可以作为一个简单的文件查询工具对本地文件进行查询。 (6)帮助页面可以对用户提供使用说明。
(7)关于界面包含设计者的信息(帮助界面和关于界面整合在一起)。 (9)支持ASCII传输模式和二进制数据传输模式,外加自动选择的模式
(10)FTP的两种工作模式的选择Port模式(主动)和Passive模式(被动) (11)提供用户操作的状态信息输出
2、未完成部分
只提供了本地文件的上传功能,暂时不能提供文件夹的上传功能,由于当初没有使用多线程对服务器端进行操作,若上传或下载的文件过大,会导致界面陷入长时间的不响应中。由于时间问题,就不再进行多线程的扩充,也就不提供文件夹的上传功能。 3、还需改善的部分
(1)使用多线程进行操作
第3页
(2)提供文件夹上传和文件夹下载功能 (3)改进界面,提供更方便的操作 (4)增加上传和下载的队列 (5)同时可连接多个FTP服务器 (6)改善提示信息
(7)账户。密码等用户资料在本地加密后保存 (8)增加更多的功能,如下载完成后关机等 (9)等………
四、FTP服务工作程
五、详细设计
(1)CFtpDlg类的一些函数定义
BOOL CFtpDlg::OnInitDialog() {
CDialog::OnInitDialog();
// Add \
// IDM_ABOUTBOX must be in the s …… 此处隐藏:1523字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [综合文档]应答器设备技术规范(征求意见稿)A1
- [综合文档]教师 2012年高考政治试题按考点分类汇
- [综合文档]保险公司的总经理助理竞职演说
- [综合文档]卫生应急大练兵大比武活动考试--题库(
- [综合文档]徐州经济技术开发区总体规划环境影响报
- [综合文档]汉语拼音表(带声调)
- [综合文档]二年级 上 思维训练( 1~18)
- [综合文档]特色学校五年发展规划
- [综合文档]机床经常出现报警“X1轴定位监控”
- [综合文档]《电子技术基础》21.§5—2、3、4 习题
- [综合文档]浙江省深化普通高中课程改革
- [综合文档]CRISP原理 - 图文
- [综合文档]2017年电大社会调查研究与方法形考答案
- [综合文档]浅析建筑施工安全毕业论文
- [综合文档]《回忆我的母亲》名师教案
- [综合文档]装饰装修工程监理规划
- [综合文档]三下乡心得体会-文艺
- [综合文档]柱计算长度系数 - 图文
- [综合文档]全流程思考,提高燃电系统热电转换率--
- [综合文档]2018年嘉定区中考物理一模含答案
- 433M车库门滚动码遥控器
- 8、架空线路施工规范
- 大学四年声乐学习的体会
- 新北师大版五年级数学上册《轴对称再认
- 部编版五年级上册语文第六单元小结复习
- 小学六年级英语形容词用法
- 第2课 抗美援朝保家卫国 课件01(岳麓版
- 2015年天津大学运筹学基础考研真题,考
- 微机计算机控制技术课后于海生(第2版)
- 安全教育实践活动
- Delphi程序设计教程_第1章_Delphi概述
- 第八讲 工业革命与启蒙运动
- 《中华人民共和国药典》2005年版二部勘
- 科粤版九年级化学2.3构成物质的微粒(1)
- 西师大版数学三年级下册《长方形、正方
- ch6_冒泡排序演示
- 第4章 冲裁模具设计
- 浙江中小民营企业员工流失论文[终稿]
- 再议有线数字电视市场营运模式
- 昆明供水工程监理大纲




