教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 综合文档 >

FTP客户端课程设计报告书

来源:网络收集 时间:2026-08-29
导读: 《计算机网络》课程设计 课题名称 FTP客户机搭建 学院 信息工程学院 专业 网络工程 班级 学号 姓名 目录和索引 一、需求分析------------------------------------------2 1、功能需求 2、开发环境与工具 3、所需要知识 二、知识理解 ----------------------

《计算机网络》课程设计

课题名称 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字,全部文档内容请下载后查看。喜欢就下载吧 ……

FTP客户端课程设计报告书.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/404873.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)