版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计说明书(论文)作者学号:学院(系):电子电气工程学院专业电气工程及其自动化题目指导者:评阅者:2014年6月毕业设计说明书(论文)中文摘要互联网的一大特点是实现信息共享,其中文件传输是信息共享的十分重要的内容之一。FTP是实现文件传输服务的最主要的规范,并且当需要考虑到文件传输安全、传输质量、访问控制等诸多因素时,FTP服务器就成了解决文件传输问题的关键所在。在这种情形下,就需要有一个良好的FTP服务器平台来满足用户日益增长的服务需求。因此,研究FTP服务器相关技术及实现具有重要的意义。本文首先介绍了FTP服务器技术研究的背景和实际意义,并对其协议和原理进行了阐述,然后根据FTP服务器的需求、功能和服务分型进行了分析说明,其次针对需求研究了FTP服务器的设计和实现,最后对FTP服务器软件的测试进行说明和测试结果分析。关键词FTP服务器C++语言测试毕业设计说明书(论文)外文摘要TitleTheDesignandimplementationofFTPServerAbstractAnimportantcharacteristicofthe互联网istorealizetheinformationsharingandfiletransfer.FTPisthemainspecificationfiletransferservice.Whenfiletransfersecurity,transferqualityaccesscontrolandmanyotherfactorsneedtobeconsidered,theFTPserveristhekeytosolvetheproblems.SodesigningrelatedFTPserversoftwareissignificant.ThispaperfirstintroducestheresearchbackgroundandpracticalsignificanceoftheFTPservertechnology,anditsagreementandprincipleareexpounded.ThenaccordingtothedemandoftheFTPserver,analyzingthefunctionsandservicesclassification,anddesigninganFTPserverbasedontherequirements.IntheendthetestspecificationsandtestresultsforFTPserversoftwareisanalyzed.KeywordsFTPserverC++languagetest目录1绪论 11.1课题背景及意义 1FTP协议与原理 11.3FTP文件传输连接类型 42FTP服务器需求及功能分析 7需求分析 7功能分析 82.3FTP服务 103FTP服务器的设计与实现 133.1功能要求 133.2开发工具 133.3主要功能与实现 134FTP服务器软件的测试 21系统可能出现的问题与不足 21采用的测试类型 21测试的过程与结果分析 21结束语 23致谢 24参考文献 251绪论1.1课题背景及意义随着互联网迅速发展和普及,网络用户可以很方便的从网上找到庞大的数据资源,其内容包罗万象。可以说,几乎任何人都可以在互联网资源中找到自己所需要的信息资源。有了网络,使用者不但可以浏览各种各样的信息资源,还能够将自己感兴趣的资源下载到本地机上。由于网络的带宽及各种服务的限制,单纯的从页面上下载显得又慢又不可靠,所以就有许多文件传输协议(FileTransferProtocol,FTP)工具提供出来。FTP是互联网中最早提供的服务之一,目前仍在被人们广泛使用着。如果说互联网是如今的信息高速公路的话,FTP就是其上面的洲际车。由于FTP运载数据量很大,在整个互联网的流量统计中,FTP占36%。迄今为止,只有近几年发展起来的环球信息服务能与之媲美。FTP文件传送服务,主要用于存放大量的网络公用软件,常用工具和技术文档,以及一些著名FTP服务的镜像。建立匿名FTP服务器,可以将本单位的产品信息、用户手册提供给用户公开访问;还可以互联网上大量的常用软件、免费软件、免费资源和文档资料等存储于本地、供本地用户访问。这样既方便了用户、又减少了对出口信道的占用。从根本上说,FTP就是在网络中各种不同的计算机之间按照TCP/IP协议来传输文件的一种方法。FTP采用的是现在流行的Client/Server模式(C/S模式),由FTP客户端和FTP服务器端程序组成。通常服务器端是远程端点,用户可以通过互联网连接到远程的FTP服务器站点。其中,只有当FTP服务器支持各种协议和指令时,才能够开发相应的客户端程序。因此,本文对FTP服务器技术的研究和实现具有重要的现实意义。1.2FTP协议与原理1.2.1FTP简介FTP是文件传输协议的简称,其和e-mail一样是最广泛应用的互联网客户程序。FTP被用于作为访问互联网主机文件的一个远程外壳,使用FTP可以连接到一个FTP服务器,在可用的目录间游历,并且传输文件。一个FTP服务器可以是公用的,私有的,或者两者兼有之。使用一个私有的账号,你可以拥有访问整个网络的目录结构,或者只是特定的区域权限。互联网同时也是一个拥有很多允许任何人连接和传输文件的FTP服务器的中心,不管他们有没有主机上的账号,其叫做匿名FTP。当你登录到一个匿名FTP服务器时,通常使用“anonymous”作为用户名,“guest”或e-mail地址作为密码。例如,匿名FTP经常用于发布大量的公用领域或共享软件。其中一个著名的公用FTP服务器是。1.2.2FTP的工作原理1、FTP工作原理FTP是TCP/IP的一种具体应用,其工作在OSI模型的第七层,TCP模型的第四层上,即应用层,使用TCP传输而不是UDP,这样FTP客户在和服务器建立连接前就要经过一个被广为熟知的“三次握手”的过程。这样的意义在于客户与服务器之间的连接是可靠的,而且是面向连接,为数据的传输提供了可靠的保证。采用FTP协议可使互联网用户高效地从网上的FTP服务器下载大信息量的数据文件,将远程主机上的文件拷贝到自己的计算机上。以达到资源共享和传递信息的目的。由于FTP的使用使得互联网上出现了大量为用户提供下载服务的服务器。其中,FTP在文件传输中还支持断点续传功能,可以大幅度地减小CPU和网络带宽的开销。2、FTP服务器登录方式的分类我们已经知道FTP服务实际上就是将各种可用资源放在各个FTP主机中,网络上的用户可以通过互联网联到这些主机上,并且使用FTP协议将想要的文件下载到本地计算机中。在使用FTP传送文件之前,最主要的步骤就是如何连入各互联网上的FTP服务器,其中,连入的主要步骤也就是登录(Login)的过程。通常用户在目标FTP服务器上输入有效的账号(account)和密码(password),得到该服务器许可后,即可进入相应的服务器。目前,FTP服务器分为两种:其一,一般的FTP服务器,进入这种服务器时必须拥有该主机的账号和密码;其二,匿名FTP服务器(称为anonymousFTP服务器)登录此类FTP服务器时,用户只要以“guest”或“anonymous”为账号,并以e-mail地址为密码,即可进入该FTP服务器主机,任意浏览和下载文件。当用户登录到某个FTP服务器时,如果用“guest”或“anonymous”为账号,均无法进入,则表明该服务器不是匿名FTP服务器。实际上,匿名FTP只是FTP中的一种,它是一种开放式账号的FTP服务器,它可以为网络上的任何使用者所利用,与非匿名的FTP不同的只是登录时的账号为“anonymous”,而密码为用户的e-mail地址。现在,某些服务器还明确要求使用电子邮件地址作为匿名用户密码,而不接受“guest”这样的密码。提供电子邮件地址,有助于让服务器了解到是哪些人在使用他们的服务。1.2.3FTP运行原理FTP的工作原理与其他许多网络实用程序一样,也是基于客户/服务器模式。互联网文件传输协议标准是在FTC959说明的,该协议定义了一个在远程计算机系统和本地计算机系统之间传输文件的标准。一般来说,要传输文件的用户需先经过认证以后才能登录FTP服务器,访问在远程服务器的文件。大多数FTP服务器往往提供一个guest的公共帐户,以便没有FTP服务器帐户的用户可以访问该FTP服务器。一个FTP会话通常包括五个软件元素的交互。就模型而言,从1973年以来并没有什么变化,具体如图1.1所示。图1.1FTP协议模型在一个FTP会话中,会存在两个独立的网络连接,一个是由两端的PI使用的,另一个是由两端的DTP使用的。PI之间的连接一般被称作控制连接,DTP之间的连接被称作数据连接。通常情况下,FTP服务器监听端口号21来等待控制连接建立请求,当客户连接请求到达,会在客户和FTP服务器之间建立一个控制连接。而数据连接端口号的选择依赖于控制连接上的命令,通常是客户发送一个控制消息来指定客户需要建立一个数据连接来传输FTP数据(如下载/上载一个文件,显示当前目录的内容等等,都需要建立数据连接来传输数据),在该消息中,指定了客户监听并等待连接的端口号,而服务器从控制连接收到该命令,向客户端发起一个连接请求到消息中指定的端口号,客户端收到该请求以后就会建立一个数据连接。连接建立以后,服务器或客户就会主动通过该连接发送数据。其中,FTP中个元素的意义如表1.1所示。表交互元素列表软件要素名称应用说明用户接口提供了一个用户接口并使用客户端协议解释器的服务USERPI客户端协议解释器,向远程服务器协议机发送命令并且驱动客户传输过程UPTP客户端数据传输协议,负责实现与远端服务器进行数据传输,并与客户端本地文件系统交互SPI服务器协议解释器,响应客户协议机发出的命令,并驱动服务器端数据传输过程SDTP服务器数据传输协议负责和客户进行数据传输以及服务器端文件系统通信1.3FTP文件传输连接类型一个完整的FTP文件传输需要建立两种类型的连接,一种为文件传输下命令,称为控制连接,另一种实现真正的文件传输,称为数据连接。(1)控制连接客户端希望与FTP服务器建立上传下载的数据传输时,它首先向服务器的21端口发起一个建立连接的请求,FTP服务器接受来自客户端的请求,完成连接的建立过程,这样的连接就称为FTP控制连接。(2)数据连接FTP控制连接建立之后,即可开始传输文件,传输文件的连接称为FTP数据连接。FTP数据连接就是FTP传输数据的过程,它有两种传输模式:主动传输模式(Active)和被动传输模式(PASSIVE),具体如图。主动传输模式和被动传输模式1)主动传输模式图当FTP的控制连接建立,客户提出目录列表、传输文件时,客户端发出PORT命令与服务器进行协商,FTP服务器使用一个标准端口20作为服务器端的数据连接端口(ftp-data),与客户建立数据连接。端口20只用于连接源地址是服务器端的情况,并且端口20没有监听进程来监听客户请求。在主动传输模式下,FTP的数据连接和控制连接方向相反,由服务器向客户端发起一个用于数据传输的连接。客户端的连接端口由服务器端和客户端通过协商确定。主动传输模式下,FTP服务器使用20端口与客户端的暂时端口进行连接,并传输数据,客户端只是处于接收状态。2)被动传输模式当FTP的控制连接建立,客户提出目录列表、传输文件时,客户端发送PASV命令使服务器处于被动传输模式,FTP服务器等待客户与其联系。FTP服务器在非20端口的其它数据传输端口上监听客户请求。
在被动传输模式下,FTP的数据连接和控制连接方向一致,由客户端向服务器发起一个用于数据传输的连接。客户端的连接端口是发起该数据连接请求时使用的端口。当FTP客户在防火墙之外访问FTP服务器时,需要使用被动传输模式。被动传输模式下,FTP服务器打开一个暂态端口等待客户端对其进行连接,并传输数据,服务器并不参与数据的主动传输,只是被动接受。
2FTP服务器需求及功能分析FTP服务器的基本功能是在RFC959中规定的,这也是和其他FTP软件兼容的。FTP的基本功能概括的讲,包括用户远程登录,文件上传下载等系列操作。每一个操作都是一组相关命令的集合,一个命令包括一个完整的请求回复流程。安全FTP服务器的设计在原有FTP模型上增加了消息号相关模块和信息安全相关模块。FTP的信息安全扩展功能主要包括加密解密,消息散列,消息签名。服务器端服务器端客户端应用层消息号附加模块信息安全处理模块客户请求处理模块信息安全解析模块消息号验证模块应用层消息号获取模块信息安全解析模块客户请求构建模块信息安全处理模块消息号附加模块传输层回复客户请求客户请求图2.1数据流程图数据流程从客户请求构建模块开始,以远程登录为起点,周而复始,到注销为止。分析FTP服务器是网络应用系统,系统通过服务器端与客户端之间传递命令消息,服务器端从命令消息中获取操作类型和参数。在对相应的命令作处理后,把处理结果封装成回复消息并返回给客户端。以下为该系统中主要的功能模块。配置用户策略配置数据库及初始化配置用户策略配置数据库及初始化配置IP接入策略配置FTP服务信息配置FTP站点标识配置IP资源访问策略安全FTP服务器服务器配置FTP服务FTP客户端文件上传连接服务器文件下载配置安全算法远程登录连接数控制远程登录IP接入控制其他命令接入控制IP重接入控制匿名用户系统用户FTP用户配置加密算法配置散列算法配置签名算法配置安全级别端口协商上传文件下载文件删除文件……服务器系统退出命令信息安全配置图2.2功能模块图服务器配置是在服务器端对FTP服务进行配置的相关工作的总称。(1)配置数据库及初始化数据库采用工厂模式架构,用户可以根据自己的喜好等选择自己的数据库类型,并配置相关的数据库访问连接字符串。同时初始化数据库,建立数据库及表,建立系统运行所需的基础数据。数据库通过配置文件实现数据库工厂模式架构。数据库及表的建立在应用程序中完成。该配置写入配置文件(以下未做注明都视为写入配置文件),该配置立即生效(以下未做注明都视为立即生效)。(2)配置FTP服务器标识配置FTP服务器标识包括配置服务器FTP服务的服务描述,IP地址,根目录等信息。IP地址和根目录是必须的配置。IP地址为空或“ANY”时为关联本机上所有IP地址。该配置写入数据库,该配置在服务下一次启动时生效。(3)配置FTP服务信息配置FTP服务信息包括FTP日志启用配置,FTP资源访问控制配置(拒绝访问、允许访问、使用IP限制访问、使用用户策略限制访问),FTP安全传输管理(是否使用加密措施、是否使用消息号),FTP匿名允许访问配置,FTP连接控制配置(限制连接数、限制连接超时、使用IP接入控制)等。该相关配置在服务下一次启动时生效。(4)配置用户策略用户策略就是用户管理,包括用户的添加、修改、删除等功能。通过把用户分属到不同的用户组,使用户具有不同的操作权限,从而控制用户的操作能力,保证资源的可控制访问。该配置写入数据库。(5)配置IP接入策略该系统在客户端请求建立连接时,会对客户端IP地址进行检测,如果该地址被服务器端阻止,则不予建立FTP会话。配置接入IP策略就是为了阻止建立FTP会话的客户端IP地址。在配置时,可以阻止一个IP,也可以阻止一个IP地址段。该配置写入数据库。(6)配置IP资源访问策略该系统在客户端访问资源时,对客户IP进行了检测,对于阻止访问资源的IP地址不予资源的访问能力。配置资源访问IP策略就是为了满足该方面的需求。在配置时,可以阻止一个IP,也可以阻止一个IP地址段。该配置写入数据库。2.3FTP服务FTP服务是FTP服务器为客户端提供资源服务的功能的集合。接入控制是在客户端建立TCP连接后对客户端进行的一系列检测,确定是否为该客户连接建立FTP会话。(1)连接数控制为了阻止一些网络攻击,该系统允许用户配置是否使用连接数控制。在使用连接数控制时,客户端连接超过连接数上限时,将暂时不再建立会话。此后的客户端将竞争建立FTP会话。这样可以从一定程度上保证负载均衡。(2)IP接入控制IP接入控制是在客户建立TCP连接后,对客户端的IP进行检测,如果该IP已经被阻止,则关闭TCP连接,不建立FTP会话。该功能是为了阻止已确认的恶意IP地址,或为了实现区域阻止等。(3)IP重接入控制该功能是指一个IP只能建立一个FTP会话,这样做是基于负载平衡考虑的。当一个IP上的客户试图建立新的会话时,FTP服务器将主动断开TCP连接,不予建立FTP会话。远程登录是客户端用户通过互联网对服务器资源访问之前的用户验证。该功能通过命令消息传递客户端用户的用户名和密码,服务器接收后提取参数并在服务器端进行登录验证。(1)匿名用户匿名用户是指以“ANONYMOUS”为用户名登录FTP服务器的用户。该类用户能够访问FTP服务器上的公有资源。该类用户无需密码验证,只需向服务器声明用户名即可访问服务器资源。(2)系统用户系统用户是指FTP服务器所在主机的操作系统的用户。这类用户的验证是由操作系统完成的。该类用户具有最高级别的资源访问权限,属于超级用户组成员。(3)FTP用户FTP用户是指由FTP管理员管理的所有用户,这类用户的信息存储在数据库中。由管理员将其分配到不同的权限组,赋予不同的操作权限。该功能模块是在RFC959标准上扩展的信息安全模块。主要用于客户端配置具有自我选择的安全算法及算法属性。配置信息保存在数据库中。(1)配置加密算法加密算法是为了保证数据的保密性而使用的。配置加密算法包括配置对称加密算法(配置命令为CONS)和配置非对称加密算法(配置命令为CONA)。在系统中可使用的对称加密算法包括DES,RC2,Triple-DES/3DES,AES/Rijndael等,非对称算法包括RSA等。(2)配置散列算法散列算法是为了保证数据的完整性。发送方将消息散列值附加到消息之后,接收方对接收的消息进行散列验证以确定消息是否为原始未修改的消息。可配置的散列算法包括MD5,SHA[128],SHA256,SHA384,SHA512等。(3)配置签名算法配置签名算法是为了使用数字签名机制,可配置的签名算法有DSA算法和基于RSA的公钥签名。(4)配置安全级别安全级别包括明文传输(SN),加密解密级(SE),完整性级(SH),签名级(SD),及相关的组合级别:SHE、SED、SHD、SEHD等。2.3.4FTP命令该类命令主要是RFC959标准命令集中的命令。RFC959标准命令集包括USER、PASS、ACCT、CWD、CDUP、SMNT、REIN、QUIT、PORT、PASV、TYPE、STRU、MODE、RETR、STOR、STOU、APPE、ALLO、REST、RNFR、RNTO、ABOR、DELE、RMD、MKD、PWD、LIST、NLST、SITE、SYST、STAT、HELP、NOOP等三十三个命令。(1)端口协商端口协商是指在服务器与客户端传输数据之前,双方为建立数据连接所做的准备工作。在主动模式下,客户端通过PORT命令和服务器完成端口的协商,客户端把自己的侦听端口告知服务器。在传输数据时,服务器主动连接客户端的侦听端口,建立数据连接,然后传输数据。(2)上传文件上传文件是指客户端把文件保存到服务器上。上传文件先通过控制连接协商数据连接端口,在完成该工作后,客户端通过使用STOR等命令将本地文件上传到服务器。(3)下载文件下载文件是指客户端从服务器获取文件资源。(4)其他除上面涉及到的5个扩展命令及5个标准命令,还有二十多个标准命令,同时在实际使用中,还有一些常用的扩展命令,如SIZE命令用于获取文件的大小。
3FTP服务器的设计与实现3.1功能要求本程序是一个在局域网内实现的小型FTP文件传输。主要实现的是FTP服务器端功能,包括:FTP服务日志,在线用户的管理,统计客户端信息还有客户端上传、下载、选择数据传输模式、改变目录等,并给出相应的提示。3.2开发工具 本系统的实现采用的工具为VisualC++。开发平台为WindowsXP。程序界面主要包括服务器日志、在线用户、统计信息、安全管理、菜单栏、工具栏、状态栏,具体如图所示。服务器用户界面3.3主要功能与实现用CSocket类编制的服务器端的程序,其过程如下,其过程主要是:创建CSocket对象。创建底层套接字Socket。调用Listen,开始监听从客户端发来的访问请求。如果收到请求,调用CAsyncSocket::Accept()函数进行接收外理。建立CSocketFile对象,并且使该对象与CSocket对象具备一定的联系。建立Carchive对象,以便实现卸装(接收)数据和存储(发送)数据的目的地址。当然,该Carchive对象应该与前面的CSocketFile对象建立联系。使用Carchive对象在客户和服务器Socket之间传递数据,从而实现服务器Socket和客户机Socket之间的通信。值得注意的是,一个给定的Carchive对象只能在单一的方向上传递数据:或者接收,或者发送。一般情况下,可能需要两个Carchive对象来实现数据的双向传递。3菜单栏功能模块菜单拦包括:服务器,查看;服务器菜单包括:开始,停止,用户账户向导,用户账户等功能;查看菜单包括:服务器日志,在线用户,配置,统计,安全等功能。各项功能实现如下:(1)帐户向导:当你登录服务器时你需要一个有效的账户,用户帐户向导将引导您通过必要的步骤,创造一个新的用户帐户。并将其添加到用户帐户对话框,创建用户名,如图3.2所示。图3.2用户帐户向导窗口通过这个窗口你可以创建自己的用户名以及密码用以登陆FTP服务器,该部分功能实现代码如下:CWizardPage1::CWizardPage1():CPropertyPageEx(CWizardPage1::IDD,0,IDS_HEADERTITLE1,NULL){ m_strAccountName=_T(““); m_psp.dwFlags&=~PSP_HASHELP;}CWizardPage1::~CWizardPage1(){}voidCWizardPage1::DoDataExchange(CDataExchange*pDX){ CPropertyPageEx::DoDataExchange(pDX); DDX_Text(pDX,IDC_ACCOUNTNAME,m_strAccountName);}BEGIN_MESSAGE_MAP(CWizardPage1,CPropertyPageEx)END_MESSAGE_MAP()(2)用户帐户功能:这一功能主要是服务器端添加,修改和删除用户帐户,设置目录权限(使用添加按钮以添加一个新目录,其中选定的用户帐户已具有访问权限,每小组目录您可以设定不同的权限,例如你可以给所有权限到C:\下载,但限制的权限为C:\下载\申请时,没有权限指定的目录,在这个目录中它会自动阻止用户要求上传任何子目录)。目录属性,当您添加的编辑目录的用户帐户,目录属性对话框将显示物理目录(物理目录是'真正'的路径文件夹的名称)。虚拟目录(虚拟目录是一个物理文件夹的别名,当用户连接到您的FTP服务器,它将看到这个目录名而不是真正的物理名称)。设制服务端允许客户端的权限,例如允许客户端可以下载,上传,重命名哪些服务器端的文件内容。例如用户123将:E:\盘设为许可目录,客户端就可以随时下载,上传E:\盘里面的内容,如图3.3所示。图3.3用户帐户窗口这一功能实现,代码如下voidCUserAccountsDlg::OnDblclkDirlist(NMHDR*pNMHDR,LRESULT*pResult){ OnEditDir(); *pResult=0;}3查看功能模块(1)服务器日志模块的功能:在此屏幕,记录客户端与服务器端的连接信息以及传输信息,当客户端登陆服务器时服务器日志会显示是否与服务器连接成功,当客户端要上传文件或是下载文件成功时会记录服务器和FTP客户端的详细资料,从而有助于您追踪服务器与客户端之间所有的通讯讯息,数目之间的方括号[]是线程ID,如图3.4所示。该部分功能实现代码如下: friendCLogFile&setlevel(CLogFile&os,intlevel) {m_nCurrentLevel=level;returnos;} friendCLogFile&error_lvl(CLogFile&os) { os.m_nCurrentLevel=1; returnos; } friendCLogFile&warning_lvl(CLogFile&os) {os.m_nCurrentLevel=2; returnos; } friendCLogFile&trace_lvl(CLogFile&os) { os.m_nCurrentLevel=3; returnos; }图3.4服务器日志窗口(2)在线用户模块的功能:通过服务器来查看在线客户端的用户名,用户IP地址,用户登陆时间等信息,如图3.5所示。图3.5在线用户窗口该模块功能实现代码如下:classCOnlineUsersPage:publicCDialog{DECLARE_DYNCREATE(COnlineUsersPage)public: voidRemoveUser(DWORDnThreadID); voidAddUser(DWORDnThreadID,LPCTSTRlpszName,LPCTSTRlpszAddress); COnlineUsersPage(); ~COnlineUsersPage(); enum{IDD=IDD_PROPPAGE_ONLINE}; CListCtrl m_OnlineUsers; protected: virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDVsupportprotected: afx_msgvoidOnSize(UINTnType,intcx,intcy); virtualBOOLOnInitDialog(); afx_msgvoidOnContextMenu(CWnd*pWnd,CPointpoint); afx_msgvoidOnKickUser(); afx_msgvoidOnEditUserAccount(); afx_msgvoidOnBlockIp(); DECLARE_MESSAGE_MAP()};//MicrosoftVisualC++willinsertadditionaldeclarationsimmediatelybeforethepreviousline.#endif(3)配置模块的功能:在这里,可以配置FTP服务器所有的设置。默认服务器端口为21,可以同时连接最多用户数,客户端与服务器端连接时间(当客户端已闲置的具体时间,它会自动断开),欢迎信息(当客户端连接到服务器时将会显示该文本),再见讯息(文本将显示当一个客户端从服务器断开时)其他设置,FTP服务器在Windows下启动,启动最小化在系统盘,并在启动时自动激活服务器。用户还可以将用户各种信息都记录在服务器日志里,如图3.6所示。图3.6配置界面可通过该图可以看出来,服务器的一些配置功能的实现代码如下:CConfigurationPage::CConfigurationPage():CDialogResize(CConfigurationPage::IDD){ m_nPort=0; m_nMaxUsers=0; m_strGoodbyeMessage=_T(““); m_bStartInTray=FALSE; m_nTimeout=0; m_strWelcomeMessage=_T(““); m_bLaunchOnStartup=FALSE; m_bAutoActivate=FALSE; m_nLogLevel=0; m_strApplicationName=_T(““); m_bModified=FALSE;}CConfigurationPage::~CConfigurationPage(){}BOOLCConfigurationPage::OnInitDialog(){ CDialogResize::OnInitDialog(); InitResizing(FALSE,FALSE,WS_CLIPCHILDREN); UpdateDialogControls(this,FALSE); returnTRUE;}//nInitDialog voidCConfigurationPage::OnView(){intExecStatus=(UINT)ShellExecute(m_hWnd,“open”,“NOTEPAD.EXE”,(LPCTSTR)theApp.m_LogFile.m_FileName,0,SW_SHOW);switch(ExecStatus){case0:MessageBox(“SysteemisoutofMemory”,”ShellExecuteError”,MB_OK|MB_ICONEXCLAMATION);break;case2:MessageBox(“'NOTEPAD.EXE'isnotfound!”,”ShellExecuteError”,MB_OK|MB_ICONEXCLAMATION);break;default:if(ExecStatus<=32)MessageBox(“ProblemwithexecutingofNOTEPAD.EXE”,”ShellExecuteError”,MB_OK|MB_ICONEXCLAMATION);break;} }//查看日志内容voidCConfigurationPage::OnClear(){theApp.m_LogFile.Clear(); }//清除日志文件内容
4FTP服务器软件的测试4.1系统可能出现的问题与不足经过几次的软件测试发现系统存在着一些不足之处。具体为:(1)当客户端与服务器建立连接时,有时连接较慢。(2)当用户向服务器上传文件时可能会传输中断,服务器仍然存在一些不稳定的数据连接。4.2采用的测试类型4.2.1黑盒测试 在黑盒测试中,软件测试员只要知道软件要做什么——而无法看到盒子里的软件是如何运行的。只要进行一些输入,就能得到某种输出结果。他不知道软件如何运行,为什么会这样,只知道程序做了什么。4.2.2白盒测试在白盒测试(有时称为透明盒测试)中,软件测试员可以访误码程序员的代码,并通过检查代码的线索来协助测试——可以看到盒了里面。测试员根据代码检查结果判断或多或可能出错的数目,并据此定制测试。4.3测试的过程与结果分析
在编写程序时有时会遇到运行错误,这是由于有的地方代码编写错误只有改写一下就可以了。首先因为创建的是服务器端,所以先登陆自己的服务器,为了查看服务器是否能够运行,又配置来了一个客户端,在二台电脑中实现客户端与服务器端之间文件的传输。首先用客户端登陆服务器,与服务器建立连
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中国华电重庆公司所属基层企业招聘20人(110截止)笔试历年参考题库附带答案详解
- 2025上半年云南日报报业集团招聘34人笔试历年参考题库附带答案详解
- 湖北武汉市青山区2025-2026学年七年级下册期中质量监测数学试题(含答案)
- 2026年农业物联网监控系统服务协议
- 2026九年级道德与法治上册 垃圾分类处理
- 2026道德与法治七年级探究与分享 师生交往方式
- 2025工程(设备基础维修)合同
- 4.2实现中华民族伟大复兴的中国梦教学设计 统编版高中政治必修一 中国特色社会主义
- 快递分拣员工库房制度
- 建立生态保护红线动态监测、生态损害赔偿等配套制度
- YS/T 433-2016银精矿
- GB/T 6074-2006板式链、连接环和槽轮尺寸、测量力和抗拉强度
- GB 29415-2013耐火电缆槽盒
- 2022年天津市河西区中考数学一模试题及答案解析
- GA/T 1444-2017法庭科学笔迹检验样本提取规范
- 2022年大理白族自治州大理财政局系统事业单位招聘笔试试题及答案解析
- 诺和龙诺和龙在糖尿病心脑血管方面的作用专家讲座
- 阿片类药物中毒的急救处理课件
- 种业现状及发展思考课件
- 某大型化工集团公司导入WCM世界级制造策划资料课件
- DBJ∕T13-354-2021 既有房屋结构安全隐患排查技术标准
评论
0/150
提交评论