您好,欢迎来到九壹网。
搜索
您的当前位置:首页文件传输系统的设计与实现

文件传输系统的设计与实现

来源:九壹网


JISHOU UNIVERSITY

专业课课程论文

题 目: 作 者: 学 号: 所属学院: 专业年级: 总 评 分: 完成时间:

文件传输系统的设计与实现

信息科学与工程学院 计算机科学与技术

文件传输系统的设计与实现

摘 要

互联网的一大特点是实现信息共享,文件传输是信息共享的十分重要的内容之一。随之出现了许多FTP服务器来共享一些信息资源,编写一个操作简单,方便的FTP客户端来下载这些资源受到了人们的极大的欢迎。

FTP是一种用于在网上传输文件的协议,从原理上说,FTP是一个客户/服务器模式的应用协议。它用两个连接来实现:一个是控制连接,用来连接服务器和实现文件操作;一个是数据连接,用来实现数据传输。FTP的实现核心是命令/应答模式,FTP客户端将用户的所有FTP相关请求都转化为FTP服务器可识别的命令,然后发送到服务器,并接收和处理执行完毕后服务器传回的应答。

本程序是一个小型FTP服务器系统,实现了FTP服务器所应该具备的大多数功能,包括用户的登录,文件的上传、下载、删除,选择数据传输模式、目录选择等,并给出相应的提示。通过该程序的开发,基本上实现了一个FTP服务器所应该具有的功能,能够解释一般的FTP命令,并且符合RFC59规范。

本程序采用VC++6.0作为开发工具,设计步骤采用自顶向下的方法。

关键词:客户端;服务器;下载;上传;FTP

目录

第一章 引言................................................................................................................................. 1

1.1课题背景及意义 .............................................................................................. 1 1.2课题研究现状 .................................................................................................. 1 1.3研究内容 .......................................................................................................... 2

第二章 FTP协议与原理 ...................................................................................................... 3

2.1 FTP简介 .......................................................................................................... 3 2.2 FTP的工作原理 .............................................................................................. 3 2.3 FTP运行原理 .................................................................................................. 4 2.4 FTP文件传输连接类型 .................................................................................. 4

第三章 开发环境及工具介绍 ............................................................................................ 6

3.1 C语言概述 ...................................................................................................... 6 3.2 VC++介绍 ........................................................................................................ 6 3.3 VC++6.0集成环境介绍 .................................................................................. 6

第四章 FTP服务器需求分析 ........................................................................................... 8

4.1 FTP文件传输的需求 ...................................................................................... 8 4.2应解决的问题 .................................................................................................. 9 4.3功能分析 .......................................................................................................... 9

第五章 系统设计与实现...................................................................................................... 10

5.1功能要求 ........................................................................................................ 10 5.2开发工具 ........................................................................................................ 10 5.3主要功能与实现 ............................................................................................ 11 5.4 菜单栏功能模块 ........................................................................................... 11 5.5 查看功能模块 ............................................................................................... 13

第六章 系统测试 ...................................................................................................................... 18

6.1系统可能出现的问题与不足 ........................................................................ 18 6.2 采用的测试类型 ........................................................................................... 18 6.3 测试的过程与结果分析 ............................................................................... 18

总结 ..................................................................................................................................................... 20 参考文献 .......................................................................................................................................... 21

第一章 引言

1.1课题背景及意义

现代科技给我们带了翻天覆地的变化,互联网就是这诸多变化之一,而且它无时不刻包围着你。可以这样说,21世纪是互联网的世纪。互联网是人类科技发展史中成长最快的新鲜事物,从诞生到高度发展仅仅用了二十几年,而未来的发展前景更是一片光明。每个人可能已经感觉到了它的发展,从大大小小的网络公司到各种各样的网上商店、书店、网吧、网上银行等,就连电影院也都搬到了网上,你可以足不出户的欣赏美国大片。

早在20世纪90年代初,internet和world wide web(简称WWW)已经被大家熟知。最近几年internet的发展更是神速,它已经深深触及到我们的生活和工作的方方面面。随着许多新兴技术在internet中的推广应用,使用它的自身发展更日趋完善,它为用户也带来了越来多的实惠和便利。毫不夸张地说,无论你在世界上的哪个角落,只要通过互联网,你就可以同亲人朋友、甚至是陌生人相互交流,而且形式多样。互发邮件、交换文件、彼此聊天这已经很平常了,而现在随着网络、通信技术的相结合,已经出现了可视电话、网络家电、电子商务等。网络用户可以通过大大小小的各类网站或主页。他们已经越来越离不开网络,而且已经把企业网络建设纳入了未来企业发展最重要的环节。是互联网最大的凝聚力所在,它是一个巴罗万象的信息服务系统。

在生活中,以国际互联网(internet)为主要特征的信息基础设施正在改变人们的生活方式,自选共享已经成为人们生活的迫切需要。尽管远程登录(telnet)提供了访问远程文件的极好方法,但怎么也比不上使用自己计算机的文件方便。如果用户想使用其它计算上的文件,最理想的方法就是把它copy到自己的计算机中,以便在本地计算机上操作。ftp正是完成这项工作的工具,你可以在任意文件传输协议(ftp)访问的公共有效的联机数据库或文档中找到你想要的任何东西。

1.2课题研究现状

1971年,第一个FT的RFC (RFC114 ) 由A. K. Bhushan在1971年提出, 同时由 MIT与Harvard实验实现;1972 年,RFC172提供了主机间文件传输的一个用户级 协 议;1973年2月,在长期讨论(RFC265,RFC294,RFC354,RFC385 ,

1

RFC4 30)后,出现了一个官方文档 RFC454 ;1973年8月,出现了一个修订后的新官方文档 RFC542 。确立了FTP的功能 、目标和基本模型 。当时数据传输协议采用 NCP;1980年,由于底层协议从NCP 改 变 为 TCP,RFC765 定义了采用 TCP 的 FTP;1985 年,一个作用持续至今的官方文档 RFC959(STD9)出台。用FTP传输文件,本来用户事先应在远方系统注册,但后来为了便于大家获取资源,FTP在互联网上有一种特殊的也是非常广泛的应用是匿名FTP(anonymous FTP).通过Internet,任何用户可以使用FTP和一个公用账号去获得一些公用资源。在Internet上目前有许许多多的这种公用计算机,我们把这种用来做匿名FTP服务的计算机称作FTP服务器,对每一个连入Internet的用户,只要知道这些FTP服务器的地址,就可以与它们连接并获取上面各种资源。由于FTP操作简单实用,开放性强,且能充分利用Internet来进行信息传递与交流,所以目前越来越多的FTP服务器连入Internet,这样越来越多的资源就可以通过匿名FTP来获得。

1.3研究内容

文件传输系统是为了满足庞大的计算机网络系统实现文件共享和数据传输的需要而设计的 。本文在VC + + 语言平台上,依据应用层的文件传输协议 的基本原理,从切身实际出发,开发了一 款文件传输系统 。该系统能登录服务 器, 实现文件的下载和上传, 以及文件的添加和删除的相关操作 。在此过程中, 首先ftp客户端将用户名、密码和链接端口发送到指定ip地址,尝试与ftp服 务端建立连接;其次 ,登录成功后 ,用户将要传输文件的进行编码,发送到ftp 服务器;最后 ,待数据传输结束, ftp客户端发出QUIT指令,结束ftp连接 。通 过前期规划,中期编写代码,后期调试和测试程序, 这款模拟器能实现基本功 能 ,但如果为了满足商业化需求,就得我们后期进一步优化 。

2

第二章 FTP协议与原理

2.1 FTP简介

FTP是tcp/ip协议中的协议之一,是英文File Transfer Protocol的缩写。该协议是Inernet文件传送的基础,它由一系列规格说明文档组成,目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。简单的说,FTP就是完成两台计算机之间的拷贝,从远程计算机拷贝文件至自己的计算机上,称为“下载”文件。若将文件从自己计算机中国拷贝至远程计算机上,则称之为“上传”文件。在Tcp/Ip协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20.

从根本上说,FTP协议就是在网络中各种不同的计算机之间按照TCP/IP协议来传输文件。FTP协议采用客户机/服务器模式,由FTP客户端程序和FTP服务器端程序组成。使用时,先启动FTP客户端程序与远程主机建立连接,然后向远程主机发出传输命令,远程主机在收到命令后就给与响应,并执行正确的命令。但是FTP有一个根本的,那就是如果用户在某个主机上没有注册获得授权,既没有用户名和口令,就不能与该主机进行文件传输。但匿名FTP服务器除外,它能够使用户与远程主机建立连接并以匿名身份从远程主机上拷贝文件,而不必是该远程主机的注册用户。用户使用特殊的用户名就可有的访问远程主机上公开的文件。许多系统要求用户将邮件地址作为口令,以便更好的对访问者进行跟踪。出于安全的目的,大部分匿名FTP主机一般只允许远程用户下载文件,而不允许上传文件。另外,匿名FTP主机还采用了其他一些保护措施以保护自己的文件不至于被用户修改和删除,并防止计算机病毒的侵入。匿名一直是Internet上获取信息资源的最主要方式,在Internet成千上万的匿名FTP主机中存储着无以计数的文件,这些文件包含了各种各样的信息、数据和软件。人们只要知道特定信息资源的主机地址,就可以匿名FTP登录。

2.2 FTP的工作原理

FTP是TCP/IP的一种具体应用,它工作在OSI模型的第七层,TCP模型的第四层上,即应用层,使用TCP传输而不是UDP,这样FTP客户在和服务器建立连接前就要经过一个被广为熟知的“三次握手”的过程,它带来的意义在于客户与服务器直接的连接是可靠的,而且是面向连接,为数据的传输提供了可

3

靠的保证。采用FTP协议可使Internet用户高效的从网上的FTP服务器下载大信息量的数据文件,将远程主机上的文件拷贝到自己的计算机上。以达到资源共享和传递信息的目的。由于FTP的使用使得Internet上出现大量为用户提供下载服务器。Internet成为了一个巨型的软件仓库。在文件传输中还支持断点续传功能,可以大幅度的减小和网络带宽的开销。

2.3 FTP运行原理

FTP的工作原理与其他许多网络实用程序一样,也是基于客户/服务器模式。互联网文件传输协议标准是FTC959在说明的。该协议定义了一个在远程计算机系统和本地计算机系统之间传输文件的标准。一般来说,要传输文件的用户需先经过认证以后才能登陆服务器,访问在远程服务器的文件。大多数的FTP服务器往往提供一个guest的公共账户来允许没有FTP服务器账户用户可以访问该FTP服务器。一个FTP会话通常包括五个软件元素的交互。就模型而言,从1973年以来并没有什么变化.

FTP协议模型

2.4 FTP文件传输连接类型

一个完整的FTP文件传输需要建立两种类型的连接,一种为文件传输下命令,称为控制连接,另一种实现真正的文件传输,称为数据连接。

1·控制连接

客户端希望与FTP服务器建立上传下载的数据传输时,它首先向服务器的端口发起一个建立连接的请求,FTP服务器接收来自客户端的请求,完成连接的建立过程,这样的;连接就称为FTP控制连接。

4

2·数据连接

FTP控制连接建立之后,即可开始传输文件,传输文件的连接称为FTP数据连接。FTP数据连接就是FTP传输数据的过程,它有两种传输模式:主动传输模式和被动传输模式,如图所示。

主动传输模式和被动传输模式

5

第三章 开发环境及工具介绍

3.1 C语言概述

C语言是在70年代初创建的一种计算机语言,它既有汇编语言可以直接访问机器硬件的功能,又具有高级语言面向用户、可读行好和易于记忆的优点,因此受到广大程序员的欢迎。C是一种结构化的程序设计语言。它由顺序、选择和循环三种基本结构组成,便于实现有上到下、逐步细化的结构化程序设计。因此,用C编写的程序具有容易理解和便于维护的优点。C语言的函数结构有利于程序分割为相对的功能模块,为大型软件实现模块化的程序设计创作了条件。C没有依赖于硬件的输入和主、输出语句,因此用它编制的程序有较好的可移植性。C语言首先在Unix操作系统中得到了应用,由于它的这些优点很快成为当前应用最为广泛的计算机语言。

3.2 VC++介绍

Visual C++6.0是微软公司推出的开发应用程序

(Windows95/98/2000/XP/NT)的、面向对象的可视化集成工具。它的最大的优点就是提供了功能强大的MFC类库,MFC是一个很大的C++类层次结构,其中封装了大量的类及其函数,很多Windows程序所共有的标准内容可以由MFC的类来提供,MFC类为这些内容提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓,这将简化编程工作大大的减少程序员编写的代码数量,使编程工作变得更加轻松容易。

3.3 VC++6.0集成环境介绍

Visual C++提供可一个集源程序编辑、代码编译与调试于一体的开发环境,这个环境称为集成开发环境,对于集成开发环境的熟悉程度直接影响程序设计的效率。开发环境是程序员同Visual C++的交互界面,通过它程序员可以访问C++源代码编辑器、资源编辑器,使用内部调试器,并且可以创建工程文件。Microsoft Visual C++有两个版本,对于每一个版本,都有对应的文档。

1)专业版本,它包括一个更高级的优化变压器,更广泛的文档,并能设计基于DOS的应用程序。

6

2)标准版本,其费用较低,没有那么高级的编译器,文档较少,且不能设计基于DOS的应用程序。

7

第四章 FTP服务器需求分析

4.1 FTP文件传输的需求

Internet上早期实现传输文件,并不是一件容易的事,我们知道Internet是一个非常复杂的计算机环境,有PC,有工作站,有MAC,有大型机,据统计连接在Internet上的计算机已有上千万台,而这些计算机可能运行不同的操作系统,有运行Unix的服务器,也有运行Dos、Windows的PC机和运行MacOS的苹果机等等,而各种操作系统之间的文件交流问题,需要建立一个统一的文件传输协议,这就是所谓的FTP。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议,这样用户就可以把自己的文件传送给别人,或者从其它的用户环境中获得文件。与大多数Internet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会相应这条命令,将指定文件送至用户的机器。FTP(File Transfer Protocol文件传输协议)是Internet上用来传送文件的协议。在Internet上通过FTP服务器可以进行文件的上传(Upload)或下载(Download)。FTP是实时联机服务,在使用它之前必须是具有该服务的一个用户(用户名和口令),工作时客户端必须先登陆到作为服务器一方的计算机上,用户登陆后可以进行文件搜索和文件传送等有关操作,如改变当前工作目录、列文件目录、设置传输参数及传送文件等。使用FTP可以传送所有类型的文件。FTP服务器的使用十分广泛,在网络上随处可见到FTP服务器。主要用于存放文件,让网络中的计算机可以共享这些文件。因此,FTP服务器要有很大的存贮空间,免费的FTP空间总是有限的,所以我们想,能不能将FTP服务器建在自己的计算机上呢?随着网络技术的不断成熟,宽带业务的不断推进,我们用动态IP将Web主机、FTP服务器和MAIL服务器搬回家,已经不再是梦想。通常服务器端是远程端点,用户可以通过Internet网络连接到远程的FTP服务器站点。

在设计程序之前,我们首先要进行一个重要的步骤—需求分析。所谓需求分析,就是分析软件用户的需求是什么。如果投入大量的人力,物力,财力,时间,开发出的软件却没人要,那所有的投入都是徒劳。如果费了很大的

8

精力,开发一个软件,最后却不满足用户的要求,从而要重新开发过,这种返工是让人痛心疾首的。而我们现在就很明确的知道,我们的程序是用来进行局域网文件传输的,知道了这一点,我们的程序至不会全部返工,因为我们已经知道我们软件所要完成的功能是什么。明确了程序的功能我们要进一步的分析。

4.2应解决的问题

选择好开发工具,设想好程序将要实现的大体功能后,我们就要分析该程序所需的条件,对该程序中将要遇到的问题做一下准备工作,以便于以后设计的顺利进行。

根据我们想要在局域网内进行文件传输的要求,首先,要选择在局域网内通讯;其次,因为本程序要实现的是FTP服务器功能,所以我们要建立服务器但是为了测试服务器是否能够有效运行,我又配置了一个客户端。

4.3功能分析

在做程序之前,我们要先确定本程序的功能,只有确定了功能,才能确定程序中使用什么函数来实现。

如果想在局域网内进行文件传输,首先要有服务器和客户端,两者配合使用。先打开客户端和服务器,然后让客户登陆一下服务器,服务器端设制一下服务器所完成的功能,然后客户端在向服务器发送请求。

9

第五章 系统设计与实现

5.1功能要求

本程序是一个在局域网内实现的小型FTP文件传输。主要实现的是FTP服务器端功能,包括:FTP服务日志,在线用户的管理,统计客户端信息还有客户端上传、下载、选择数据传输模式、改变目录等,并给出相应提示。

5.2开发工具

本系统的实现采用的工具为VisualC++6.0.开发平台为Windows2000,WindowsXP。

程序界面主要包括服务器日志、在线用户。统计信息、安全管理、菜单栏。工具栏、状态栏。如图所示。

服务器用户界面

10

5.3主要功能与实现

用CSocket类编制的服务器端的程序,其过程如下,其过程主要是:

1)创建CSocket对象。 2)创建底层套接字Socket.

3)调用Listen,开始监听从客户发来的访问请求。

4)如果收到请求,调用CAsyncSocket::Accept()函数进行接收处理。 5)建立CSocketFile对象,并且使该对象与CSocket对象具备一定得联系。 6)建立Carchive对象,以便实现卸装(接收)数据和存储(发送)数据的目的地址。当然,该Carchive对象应该与前面的CSocket对象建立联系。

7)使用Carchive对象在客户和服务器Socket之间传递数据,从而实现服务器Socket和客户机Socket之间的通信。值得注意的是,一个给定的Carchive对象只能在单一的方向上传递数据:或者接受,或者发送。一般情况下,可能需要两个Carchive对象来实现数据的双向传递。

5.4 菜单栏功能模块

菜单栏包括:服务器,查看。

服务器菜单包括:开始,停止,用户账户向导,用户账户功能, 查看菜单包括:服务器日志,在线用户,配置,统计,安全等功能。 各项功能实现如下: 服务器功能:

1.账户向导:当你登录服务器时你需要一个有效的账户,用户账户向导将引导您通过必要的步骤,创造一个新的用户账户。并将其添加到用户账户对话框,创建用户名,如图所示。

用户账户向导窗口

11

通过这个窗口你可以创建自己的用户名以及密码用户用以登录FTP服务器,该部分功能实现代码如下:

CWizardPage1: : CWizardPage1() : CPropertyPageEx(CWizardPage1: : IDD, 0,

IDS_HEADERTITLE1, NULL) {

m_strAccountName=_T('''');

m_psp.dwFlags &=~PSP_HASHELP;

}

CWizardPage1: : ~CWizardPage1() { } void

DoDataExchange(CDataExchange*pDX)

{

CPropertyPageEx: : DODataExchange(pDX); DDX_Text(pDX, m_steAccountName);

}

BEGIN_MESSAGE_MAP(CWizardPage1, CPropertyPageEx)

END_MESSAGE_MAP()

IDC_ACCOUNTNAME,

CWizardPage1:

:

2.用户帐户功能:这一功能主要是服务器端添加,修改和删除用户帐

户,设置目录权限(使用添加按钮以添加一个新目录,其中选定的用户帐户已具有访问权限,每小组目录您可以设定不同的权限,例如你可以给所有权限到C: \\下载,但的权限为C: \\下载\\申请时,没有权限指定的目录,在这个目录中它会自动阻止用户要求上传任何子目录)。目录属性,当您添加的编辑目录的用户帐户,目录属性对话框将显示物理目录(物理目录是真正的路径文件夹的名称)。虚拟目录(虚拟目录是一个物理文件夹的别名,当用户连接到您的FTP服务器,它将看到这个目录而不是真正的物理目录名称)。设置服务器端允许客户端的权限,例如允许客户端可以下载,上传,重命名哪些服务器端的文件内容。例如用户123将:E:盘设为许可目录,客户端就可以随时下载,上传E:\\盘里面的内容,如图所示

12

用户账户窗口

这一功能实现,代码如下

Void CUserAccountsDlg::OnDblclkDirlist(NMHDR*pNMHDR,LRESULT*pResult)

{

OnEditDir(); *pResult=0; }

5.5 查看功能模块

1.服务器日志模块的功能:在此屏幕,记录客户端与服务器端的连接信息以及传输信息,当客户端登录服务器时服务器日志会显示是否与服务器连接成功,当客户端要上传文件或是下载文件成功时会记录服务器和FTP客户端的详细资料,从而有助于您追踪服务器与客户端之间的所有的通讯讯息,数目之间的方括号[]是线程ID,如图所示。

该部分功能实现代码如下:

Friend CLogFile& setlevel(CLogFile& os, int level) {

m_nCurrentLevel=level; return os; }

friend CLogFile& error_lvl(CLogFile& os) {

os.m_nCurrentLevel=1; return os;

13

}

friend CLogFile& warning_lvl(CLogFile& os) {os.m_nCurrentLevel=2; return os; }

friend CLogFile& trace_lv(CLogFile& os) {

os.m_nCurrentlevel=3; return os; }

服务器日志窗口

2.在线用户模块的功能:通过服务器来查看在线客户端的用户名,用户IP地址,用户登录时间等信息,如图所示。

在线用户窗口

该模块功能实现代码如下:

class COnlineUserPage : public CDialog {DECLARE_DYNCREATE(COnlineUsersPage) public:

void RemoveUser(DWORD nThreadID); void

AddUser(DWORD

nThreadID,LPCTSTR

lpszName,LPCTSTR

lpszAddress);

COnlineUsersPage();

14

~COnlineUserPage();

enum { IDD = IDD_PROPPAGE_ONLINE}; CListCtrl m_OnlineUsers; protected:

virtual void DoDataExchange(CDataExchange*pDX); //DDX/DDV suport protected:

afx_msg void OnSize(UINT nType, int cx, int cy); virtual BOOL OnInitDialog();

afx_msg void OnContextMenu(CWnd*pWnd, CPoint point); afx_msg void OnKickUser(); afx_msg void OnEditUserAccount(); afx_msg void OnBlockIp(); DECLARE_MESSAGE_MAP() };

// Microsoft Visual C++ will insert additional declarations immediately before the previous line,

#endif

3.配置模块的功能:在这里,可以配置FTP服务器所以得设置。默认

服务器端口为21,可以同时连接最多用户数,客户端与服务端连接时间(当客户端已闲置的具体时间,它会自动断开),欢迎信息(当客户端连接到服务器时将会显示该文本),再见讯息(文本显示当一个客户端从服务器断开时)其他设置。FTP服务器Windows下启动,启动最小化在系统盘,并在启动时自动激活服务器。用户还可以将用户各种信息都记录在服务器日志里,如图所示。

15

配置界面

可通过该图可以看出来,服务器的一些配置功能的实现代码如下: CConfigurationPage::CConfigurationPage():CDialogResize(CConfigurationPage::IDD)

{ m_nPort=0; m_nMaxUsers=0;

m_strGoodbyeMessage=_T(“”); }

CConfigurationPage: : ~CConfigurationPage() { }

BOOL CConfiguration Page: : OnInitDialog() {

CDialogResize: : OnInitDialog();

InitResizing(FALSE, FALSE, WS_CLIPCHILDREN); UpdateDialogControls(this,FALSE); return TRUE; }//nInitDialog

void CConfigurationPage: : OnVIew() {

int ExecStatus=(UINT)ShelExecute(m_hWnd, “open”, “NOTEPAD.EXE”, (LPCTSTR)theApp.m_LogFile.m_FileName, 0, SW_SHOW); Switch(ExecStatus) {

16

m_bStartIray=FALSE; m_nTimeout=0;

m_bLaunchOnStartup=FALSE; m_bAutoActivate=FALSE; m_nLogLevel=0; m_bModified=FALSE;

m_strWelcomeMessage=_T(“”);

m_strApplicationName=_T(“”);

Case 0:

MessageBox(“Systeem is out Memory”,”ShellExecute Error”,MB_OK MB_ICONEXCLAMATION); break; case2:

MessageBox(“NOTEPAD.EXE break; default:

If(ExecStatus<=32)

MessageBox(“Problem with executing of NOTEPAD.EXE”,ShellExecute Error”,MB_OKIMB_ICONEXCLAMATION);

break; }

}//查看日志内容

Void CConfigurationPage::OnClear() {

theApp.m_LogFile.Clear(); }//清除日志文件内容

到这里该系统的主要模块的功能的实现以基本完成。

is

not

found!”,”ShellExecute

Error”,MB_OKIMB_ICONEXCLAMATION);

17

第六章 系统测试

6.1系统可能出现的问题与不足

经过几次的软件测试发现系统存在着一些不足之处。具体为: 1当客户端与服务器建立连接时,有时连接较慢。

2当用户向服务器上传文件时可能会传输中断,服务器仍然存在一些不稳定的数据连接。

6.2 采用的测试类型

1黑盒测试

在黑盒测试中,软件测试员只要知道软件要做什么——而无法看到盒子里的团建如何运行的。只要进行一些输入,就能得到某种输出结果。他你知道软件如何运行,为什么会这样,只知道程序做了什么。

2白盒测试

在白盒测试(有时称为透明盒测试)中,软件测试员可以访误码程序员的代码,并通过检查代码的线索来协助测试——可以看到盒子里面。测试员根据代码检查结果判断或多或可能出错的数目,并据此定制测试。

6.3 测试的过程与结果分析

在编写程序时有时会遇到运行错误,这是由于有的地方代码编写错误只有改写一下就可以了。

首先因为创建的事服务器端,所以先登录自己的服务器,为了查看服务器是否能够运行,又配置了一个客户端,在二台电脑中实现客户端与服务器只见文件的传输。首先用客户端登录服务器,并与服务器建立连接,然后上传,下载文件,看看服务器端有什么反应,但是有时会发现虽然建立了连接,但是文件传输有时会失败,而且这个服务器不可以匿名登录所以客户端匿名登录时无法与服务器连接,只有用有效的用户名才可以与服务器建立连接,如图所示。

18

客户端

这是配置的一个客户端,用户只有用有效的用户名才可以登录服务器,现在试着用lijin这个用户名来登录一下服务器,可以看到客户端有这样的显示内容。如图所示。

客户端

这时客户端将会显示与服务器连接成功的信息,表示用户可以上传和下载文件了。如图所示。

服务器端

这时从服务器端就可以看到有关接收得信息了。由于了服务器的端口为21,所以客户端只有通过21才可以登录服务器。

19

总结

通过这次比较完整的小型FTP系统设计,我摆脱了单纯的理论知识学习状态,而实际设计的结合锻炼了我的综合运用所学的专业基础知识,解决实际工程问题的能力,同时也提高我查阅文献资料、设计手册、设计规范以及电脑能力水平,而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得到了锻炼,经验得到了丰富,这是我们都希望看到的也正是我们进行课程设计的目的所在。

以前我对VC++不了解,但是现在我了解了的运行环境,使用方法,以及一些命令的使用。以往编程时,不注意编程规范,致使程序运行不出来,现在在编写程序时很注意编写规范,以前一些控件不会使用,现在也都可以熟练使用了,在设计过程中一些功能的实现让我恨头痛,原因是由于本身设计受到编程语言的,而又必须考虑本专业的一些要求规范,从而形成了一些矛盾点,这些矛盾在处理上让人很难斟酌,正是基于这种考虑我意识到,要想更好的进行一次设计,与他人的交流沟通是很有必要的。

20

参考文献

[1] Douglas E.Comer,Internet技术基础(英文版·第三版)[M],北京: 机

械工业出版社,2002

[2]史斌,C语言贯通教程[M],北京:清华大学出版社,2001

[3]戴锋,Visual C++程序设计基础[M],北京:清华大学出版社,2001 [4]张力,Visual C++高级编程[M],北京,人民邮电出版社,2002

[5]杨军, Visual C++实践与提高(网络编程篇)[M],北京:中国铁道出版,2003

[6]杨富国,Visual C++程序开发案例解析[M], 北京:清华大学出版社,2006 [7]谢希仁,计算机网络(第4版)[M],北京:电子工业出版社,2003 [8]Ron Patton,软件测试[M],北京:机械工业出版社,2006

21

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务