免费预览已结束,剩余26页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要2 Abstract4 引 言5 1 技术简介9 1.1 Java 语言.9 1.1.4 分布性10 1.3 Java 中输入/输出流概念.12 1.5 JBuilder 集成开发环境介绍.14 2 系统分析17 2.1 可行性分析17 2.2 开发工具18 2.3 需求分析18 3 系统详细设计19 3.1 系统的主要功能19 摘摘 要要 随着计算机网络技术的飞速发展,客户/服务 C/S(Client/Sersv er)结构成为开发 FTP 的网络编程结构,Java 作为 Web 应用程序的 开 发技术也为更多的人所采用。 起初, FTP 并不是应用于 IP 网络上的协议,而是 ARPANET 网络 中计算机间的文件传输协议, ARPANET 是美国国防部组建的老网络 ,于 1960-1980 年使用。在那时,FTP 的主要功能是在主机间高速 可靠地传输文件。目前 FTP 仍然保持其可靠性,即使在今天,它还 允许文件远程存取。这使得用户可以在某个系统上工作,而将文件 存贮在别的系统。例如,如果某用户运行 Web 服务器,需要从远程 主机上取得 HTML 文件和 CGI 程序在本机上工作,他需要从远程存储 站点获取文件(远程站点也需安装 Web 服务器)。当用户完成工作后 ,可使用 FTP 将文件传回到 Web 服务器。采用这种方法,用户无需 使用 Telnet 登录到远程主机进行工作,这样就使 Web 服务器的更新工作变得如 此的轻松。 和 Internet 上的许多环境一样,完整的 Java 应用环境实际上 也是一个客户机/服务器环境,更确切地说是浏览器/服务器模型( 即 Browser/Server 模型,简称 Web 模型)。但与传统的客户机/服 务器(C/S)的二层结构不同,应用 Java 的 Web 模型是由三层结构组 成的。传 统的 C/S 结构通过消息传递机制,由客户端发出请求给服务器,服 务器进行相应处理后经传递机制送回客户端。而在 Web 模型中,服 务器一端被分解成两部分:一部分是应用服务器(Web 服务器),另 一部分是数据库服务器. 关键词:关键词: FTP;C/S;B/S;JAVA Abstract As the computer network technology is developing in a high speed. C/S ( Client/Server) has become a FTP network programming structure. Java is Used moer and more as a Web application program. In the beginning, FTP was not be used in IP net protocol, but which is u sed in ARPANET network computers. ARPANET was an old network of the U.S. Department of Defense between 1960s and 1980s.At that period the main function of the FTP is transmitting documents reliably and in high speed betw een the master computers. At present, it also does very well, furthermore, it pe rmits store or access in telecommuting today. So the users can work on onesy stem and store the document in another. For example, someone use the Web server, and need some HTML document and CGI program on his own c omputer, and want to acquire some documents, (the telnet need install Web ser ver)When the user finished he can store the document to the Web server by t he FTP. In this way, the user can work without Telnet, which make the Web server update more and more easier. The whole Java circumstance actually is a C/S (Client/Server) like the oth er circumstances on the Internet, strictly to say, it is Browser/Server model ( Web model). But it is different from the traditional C/S model that is two lay ers structure. The Web using Java is three layers structure. The traditional C/S structure transmits by the message mechanism. The Client sent a request, and the Server sent to it after some corresponding manages. But in the Web model the Server is separated into two parts, one is the application Server (Web Serv er); another is database Server. Keywords: FTP;C/S;B/S;JAVA 引 言 FTP(File Transfer Protocol)是文件传输协议的简称。 FTP 的主要作用,就是让用户连接上一个远程计算机(这些计算机上运 行着 FTP 服务器程序)查看远程计算机有哪些文件,然后把文件从 远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计 算机去。 目前 FTP 服务器软件都为国外作品,例如 Server_U、IIS,国 内成熟的 FTP 服务器软件很少,有一些如(Crob FTP Server) ,但从 功能上看来远不能和那些流行的服务器软件媲美。 下面对这些软件简单的做一个比较: IIS 只适用于 NT/2000/XPWindows 操作系统,适合建个小型的 同时在线用户数不超过 10 个的 FTP 服务器。它对账户的管理按照 Windows 用户账户方式进行; 比起 IIS 来,Server_U 的管理功能强大得多,而且设置也很方 便。它是一款由 Rob Beckers 开发的获奖的 FTP 服务器软件,它功 能强大又易于使用,支持 9x/ME/NT/2K 等全 Windows 系列。FTP 服 务器用户通过它用 FTP 协议能在 internet 上共享文件。Serv-U 不 仅 100%遵从通用 FTP 标准,也包括众多的独特功能可为每个用户提 供文件共享完美解决方案。它并不是简单地提供文件的下载,还为 用户的系统安全提供了相当全面的保护。例如:您可以为您的 FTP 设置密码、设置各种用户级的访问许可等等; 而 Crob FTP Server 从功能设置上可以看出,它沿用了像 Server_U 等主流 FTP 服务器软件的基本设置;并加入了不少人性化 的功能;同时支持多服务器。(即在软件中可以在任意的有效端口 上建立任意多的 FTP 服务器并可同时运行,各服务器间互不相干的 稳定运行)应该说进步是非常大的。并且可以应用于 Windows 95/98/ME/me/N/T2000 及最新的.NET 操作系统上。 不过,纵观上面这些软件,它们都只能在 Windows 操作系统中 运行,并且功能过于强大,许多功能应用于我们的考试系统的话, 并没有太大的意义,而且有些也没必要,于是就需要一个专用的, 而且也能通用(应用于 UNIX 等其他的 操作系统)的 FTP 服务器。 要求实习一些基本功能:文件上传;文件下载;文件列表和 存在检查、文件属性查询。 基于以上的要求,可以说在选择开发语言的时候,无疑我选择 了 JAVA 语言。众所周知,JAVA 是一种可以编写跨平台应用软件 的面向对象的程序设计语言。Java 编程语言的风格十分接近 C+语 言。Java 继承了 C+语言面向对象技术的核心,舍弃了 C+语言中 容易引起错误的指针(以引用取代) 、运算符重载、多重继承(以接 口取代)等成分,增加了自动垃圾回收器功能用于回收不再被引用 的对象所占据的内存空间。Java 最初是为嵌入式小设备而设计的。 起初 ,它为人们所喜爱的原因是由于可以用它来开发复杂的、以 Applet 为形式的客户端 Web 应用。然而,服务器端 JAVA 的应用的 兴起才是 JAVA 编程最令人振奋的趋势。Java 本质上适合开发大型 客户机/服务器(Client/Server)应用。其跨平台、面向对象、内存保 护的安全性、内在的对网络编程的支持以及丰富的 API 等特性使 JAVA 成为服务器端应用开发的一种理想语言。之所以选择 JAVA 语言,还有个重要的原因就是本人的个人所好。 在选择开发平台方面,JCreator、eclipse、Jbuilder 等都是不错 的选择,由于个人喜好我选择了 Jbuilder 作为我的开发平台,而在 版本的选择上我选的是 Jbuilder 2005。 通过阅读大量的文献质料,我发现用 JAVA 来开发 FTP 服务器 还是具有一定的难度,主要是由于它不像开发 FTP 客户端的程序那 样(Jbuilder 中提供了一类网络类库 .ftp.FtpClient.,该类库 主要提供了用于建立 FTP 连接的类。利用这些类的方法,编程人员 可以远程登录到 FTP 服务器,列举该服务器上的目录,设置传输协 议,以及传送文件。FtpClient 类涵盖了几乎所有 FTP 的功能, FtpClient 的实例变量保存了有关建立。 ) ,在 Jbuilder 中并没有像 FtpClient 类这样的,来提供给用于服务器端编程的类,所以我们只 能从 FTP 的工作原理入手,来解决服务器端的程序编写问题。经过 分析,大体思路如下: 在主函数中建立一个服务器套接字端口,等待客户端请求,一 旦客户端请求被接受,服务器程序就建立一个服务器分线程,处理 客户端的命令。如果客户端需要和服务器端进行文件的传输,则建 立一个新的套接字连接来完成文件的操作。 在主函数中,完成服务器端口的侦听和服务线程的创建。线程 类的主要设计都是在 run()方法中实现。用 run()方法得到客户端的套 接字信息,根据套接字得到输入流和输出流,向客户端发送欢迎信 息。在文件传输方面,主要处理从服务器中获得文件 RETR 和向服 务器中发送文件 STOR,这两个命令的处理非常类似。处理 RETR 命令时,首先得到用户要获得的文件的名称,根据名称创建一个文 件输入流,然后和客户端建立临时套接字连接,并得到一个输出流。 随后,将文件输入流中的数据读出并借助于套接字输出流发送到客 户端,传输完毕以后,关闭流和临时套接字;STOR 命令的处理也 是同样的过程,只是方向正好相反。 当然,这只是大体的思路,具体的实现还涉及到许多细节上的 问题了,从理论上来讲,利用 JAVA 来开发 FTP 服务器是可行的, 也基本能完成我们预先所要达到的目标,实现一些基本功能,不过 在检查文件的属性这方面还有待查找更多相关的质料。 另外,由于 Internet 网络带宽是有限的 ,所以可以考虑将在 Internet 上需要传输的数据文件压缩后再传输,则更有利于数据文件 的快速传输,同时,压缩文件也可以节省服务器哦的外部存储空间。 实现的时候,主要可应用 Java API 中 java.util.zip 包提供的 ZipEntry、ZipInputStream 和 ZipOutputStream 共 3 个类。本软件将 尽量实现这个功能。 1 技术简介 1.1 Java 语言 Java 语言的优点主要表现在:简单、面向对象、多线程、分布性、 体系结构中立、安全性等方面。 .1 简单性 Java 与 C+语言非常相近,但 Java 比 C+简单,它抛弃了 C+中 的一些不是绝对必要的功能,如头文件、预处理文件、指针、结构、 运算符重载、多重继承以及自动强迫同型。 Java 实现了自动的垃 圾收集,简化了内存管理的工作。这使程序设计更加简便,同时减 少了出错的可能。 .2 面向对象 Java 提供了简单的类机制和动态的构架模型。对象中封装了它 的状态变量和方法,很好地实现了模块化和信息隐藏;而类则提供 了一类对象的原型,通过继承和重载机制,子类可以使用或重新定 义父类或超类所提供的方法,从而既实现了代码的复用,又提供了 一种动态的解决方案。 Java 是一种完全面向对象的程序设计语言,它除了数组、布尔 和字符三个基本数据类型外的其它类都是对象,它不再支持全局变 量。在 Java 中,如果不创建新类就无法创建程序,Java 程序在运 行时必须先创建一个类的实例,然后才能提交运行。 Java 同样支持继承特性,Java 的类可以从其它类中继承行为, 但 Java 只支持类的单重继承,即每个类只能从一个类中继承。 Java 支持界面,界面允许程序员定义方法但又不立即实现,一 个类可以实现多个界面,利用界面可以得到多重继承的许多优点而 又没有多重继承的问题。 .3 多线程 多线程使应用程序可以同时进行不同的操作,处理不同的事件。 在多线程机制中,不同的线程处理不同的任务,他们之间互不干涉, 不会由于一处等待影响其他部分,这样容易实现网络上的实时交互 操作。 Java 程序可以有多个执行线程,如可以让一个线程进行复杂的 计算,而让另一个线程与用户进行交互,这样用户可以在不中断计 算线程的前提下与系统进行交互。多线程保证了较高的执行效率。 .4 分布性 Java 是面向网络的语言。通过它提供的类库可以处理 TCP/IP 协议, 用户可以通过 URL 地址在网络上很方便的访问其他对象。 .5 体系结构中立 Java 是一种网络语言,为使 Java 程序能在网络的任何地方运 行,Java 解释器生成与体系结构无关的字节码结构的文件格式。 Java 为了做到结构中立,除生成机器无关的字节码外,还制定了完 全统一的语言文本,如 Java 的基本数据类型不会随目标机的变化而 变化,一个整型总是 32 位,一个长整型总是 64 位。 为了使 Java 的应用程序能不依赖于具体的系统,Java 语言环 境还提供了用于访问底层操作系统功能的类组成的包,当程序使用 这些包时,可以确保它能运行在各种支持 Java 的平台上。 java.lang: 一般的语言包。其中包括用于字符串处理、多线程、异 常处理和数字函数等的类,该包是实现 Java 程序运行平台的基本包; java.util: 实用工具包。其中包括哈希表、堆栈、时间和日期等; java.io: 基于流模型的输入/输出包。该包用统一的流模型实现了 各种格式的输入/输出,包括文件系统、网络和设备的输入/输出等; : 网络包。该包支持 TCP/IP 协议,其中提供了 socket、URL 和 WWW 的编程接口; java.awt: 抽象窗口工具集。其中实现了可以跨平台的图形用户界 面组件,包括窗口、菜单、滚动条和对话框等; java.applet: 支持 applet 程序设计的基本包。 .6 安全性 用于网络、分布环境下的 Java 必须要防止病毒的入侵,Java 不 支持指针,一切对内存的访问都必须通过对象的实例变量来实现, 这样就防止了程序员使用欺骗手段访问对象的私有成员,同时也避 免了指针操作中容易产生的错误。 1.2 JAVA 工具 .1 JDKJDK (1) Java 编译器 Java 编译器将 Java 源代码文件编译成可执行的 Java 字节码。 Java 源代码文件的扩展名为 .java,Java 编译器把这种扩展名的文 件编译成扩展名为.class 的文件。源文件中的每个类在编译后都将 产生一个 class 文件,这意味一个 Java 源代码文件可能编译生成多 个 class 文件。 (2) Java 解释器 Java 解释器对编译生成的字节码格式的可执行程序的运行提供 支持,它是运行非图形 Java 程序的命令行工具。 (3) Appletviewer 它是 Java Applet 的简单测试工具,可使用它来测试 Java Applet 程序,而不需要 WWW 浏览器的支持。 .2 VisualVisual J+J+ Visual J+ 集成了可视化界面设计、交互式调试、代码编辑、 联机帮助信息和介绍如何快速掌握该开发环境的实用向导等多项功 能,同时具有能充分利用 Active X 和 COM 新技术的优势。利用 Visual J+可创建交互性很强的 Internet 应用程序,是难得的 Java 开发系统。 1.3 Java 中输入/输出流概念 过滤流 DataInputStream 和 DataOutputStream 除了分别作为 FilterInputStream 和 FilterOutputStream 的子类外,还分别实现 了接口 DataInput 和 DataOutput。接口 DataInput 中定义的方法 主要包括从流中读取基本类型的数据、读取一行数据、或者读取指 定长度的字节数,如 readBoolean() readInt()、readLine()、 readFully()等。接口 DataOutput 中定义的方法主要是向流中写入 基本类型的数据或者写入一定长度的字节数组,如 writeChar()、 writeDouble() DataInputStream 可以从所连接的输入流中读取与 机器无关的基本类型数据,用以实现一种独立于具体平台的输入方 式;DataInputStream 可以向所连接的输出流写入基本类型的数据。 1.4 Socket 机制 Socket 是面向客户/服务器模型设计的,网络上的两个程序通 过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为 一个 Socket。 Socket 通常用来实现客户方和服务方的连接。客户 程序可以向 Socket 写请求,服务器将处理此请求,然后通过 Socket 将结果返回给用户。 Socket 通信机制提供了两种通讯方式:有联接和无联接方式, 分别面向不同的应用需求。使用有联接方式时,通信链路提供了可 靠的,全双工的字节流服务。在该方式下,通信双方必须创建一个 联接过程并建立一条通讯链路,以后的网络通信操作完全在这一对 进程之间进行,通信完毕关闭此联接过程。使用无联接方式时其系 统开销比无联接方式小,但通信链路提供了不可靠的数据报服务, 不能保证信源所传输的数据一定能够到达信宿。在该方式下,通信 双方不必创建一个联接过程和建立一条通讯链路,网络通信操作在 不同的主机和进程之间转发进行。 1.5 JBuilder 集成开发环境介绍 Borland JBuilder 是全球第一的跨平台 Java 开发环境,可以 用于构建符合工业标准的 Java 应用系统,开发 EJB、Web、XML 以及 数据库等各类应用程序。双向、可视化设计工具使得我们可以快速 的构建各种 J2EE 应用程序,并部署至多种应用程序服务器,包括 BEA WebLogic、IBM WebSphere、Sun ONE Application Server、Oracle 10g Application Server 以及整合于 JBuilder 的 Borland Enterprise Server。 鉴于此原因,在我们学习 Java 语言的时候,也没有理由杜绝使 用 JBuilder 这个优秀的编译器。除非你看到集成开发环境就晕,呵 呵(初学者和大师经常这样说)。当然如果你还是初学者,选择 Intellij IDEA 也不错,简单、清晰,他获得了 2003 年 Java 最佳 编译器大奖,集成了很多先进的软件工程方法。但是做企业级的开 发,JBuilder 无可争论的成为最佳选择。 Quick Start-原来 JBuilder 这么容易上手 正如你使用其它的编译器学习 Java 语言一样,你的几个想法之 一便是“让我尽快的完成一个 Hello World 吧!”。我们暂且什么都 不看,仅仅快速的完成一个 Hello World 程序。安装 JBuilder 似乎 并不需要更多的向导大家都能够独立完成。那么赶快打开这个集成 开发环境,让我们尽快完成我们的 Hello World。运行 JBuilder 后 我们看到了这样的界面: 赶快新建一个工程(一个习惯是,不管你建立的程序有多么的 小,建立一个工程是一个良好的程序设计习惯,便于有效的管理你 的代码和编译后生成的资源),在新建的工程中新建一个 HelloWorld 类文件 HelloWorld.java。你的工程名、类文件名和类 名最好是统一的,这是一个良好的编程习惯。需要注意的是:你得 类文件名和类名必须是统一的,否则就会出现类似下面的报警错误, 我们假设将类名命名为 HelloWorldd,而文件名为 HelloWorld,编译 后就会出现下面的提示信息: “HelloWorld.java“: class HelloWorldd is public; should be declared in a file named HelloWorldd.java at line 12, columnl 完整的 HelloWorld 程序可以参考下面的建立: 写好你的程序后,编译运行之。右击工程栏当中的 HelloWorld.java,选择 Debug Using Defaults。除非上面的步骤出 现问题,否则你将会很兴奋的看到,HelloWorld 在信息窗格中输出 了! 这样看来似乎 JBuilder 没有那么复杂,对么?很多人花了 N 长时间 来调试一个 HelloWorld 程序,不是环境变量没有设置好就是忘记这 个丢了那个。但你绝不能从此断定“搞定!我已经掌握了 JBuilder!” 其实这只是给大家建立一个信心,告诉大家 JBuilder 其实并不像你 想象的那样无法接受而已。想要彻底掌握 JBuilder,我们需要认真 的学习下面的指导。 AppBrowser-我以后天天对着你打开 JBuilder 集成开发环境的 时候,我们面对的便是 AppBrowser。下面我们来逐一的介绍主要的 组成部件: 如果是正在调试多个工程或者你需要打开多个 AppBrowser 窗口, 可以点击 Window 菜单中的 New Browser 或者是在工程窗体中右击文 件名,点击 Open in New Browser。 再来看看主工具栏,如果你觉得这么多快捷按钮不爽,大可在 下面这幅图的指导下关掉这些工具栏。在 View 中选择 Toolbars: 但个人习惯使用默认的工具栏,提供了不少方便。 工程窗体中显示的是当前的工程以及当前工程所包含的所有文 件。结构窗体中展示了当前在被编辑的文件结构,下面的图片显示 的便是刚刚的 HelloWorld 文件结构,很简单是么,只有一个 main 方法。 如果你的程序中有错误,结构窗体就会实时出现一个 Errors 文件夹, 其中包含了这些语法错误。Improts 中存放的是所有引入的 Package。 下面我们再来看看位于内容窗体下的文件查看页签: Source 显示的是目前文件的源代码,可以直接进行编辑。 Design 中包含了组件托盘,以便进行可视化程序开发。 Bean 中包含了 BeanExpress 设计工具,可以用于查看和编辑 bean 的特性。 UML 好神奇,打开看看刚才系统为你的工程创建的 UML 图! Doc 为你的文件创建了一个 Javadoc。 History 显示了文件的版本控制系统记录。 开发环境中一个非常重要的工具便是搜索栏,你可以在工具栏 上看到一个搜索栏,这个是在当前文档中进行内容搜索用的。如果 你要对某些类进行搜索,不妨同时按下 Ctrl 和减号。在 Search 中 可以对类进行搜索,在 Browse 中可以对 package 进行搜索。 2 系统分析 2.1 可行性分析 可行性研究就是预开发软件系统的总体目标,给出它的功能、 性能、可靠性以及其他方面的要求。其目的是用最小的代价在尽可 能短的时间内确定问题是否能够解决、是否值得去解决。 下面从四个方面分析本系统的可行性: 技术可行性 本系统用 JAVA 进行代码的编写,目前十分流行的一种技术, 主要用于开发服务端的脚本程序和动态生成网站。它与目前同 样流行的 VB 技术技术是相同性质的、同一层次的,它们在网 站的建设中所起的作用是一样的,但是 JAVA 技术与这两种技 术相比,有着十分突出的优越性,发展前途不可限量。 经济可行性 经济可行性分析(能否赢利)是,从经济的角度分析本系统的 规划方案有无实现的可能和开发的价值;分析网站系统所带来的经 济效益是否超过开发和维护网站所需要的费用。经济上的可行性是 企业行为的基础。 由于本系统的开发设计是为完成毕业设计任务而进行的,所以 不存在赢利问题。所在此也就不讨论经济可行性问题。 开发环境可行性 网站开发需要的开发环境需要装有 windows2000 系统以上的电 脑上运行,这样的配置在当今已经不能成为难题,而服务器方面, 只需要一台安装了 JAVA 和 JBuilder 服务的计算机即可。所以开发环 境可行性是没有任何问题的。 2.2 开发工具 整个系统的开发和运行所需的软件环境包括。 (1) 服务器操作系统:Windows/Unix (2) 客户端操作系统:Windows 2000/XP/Unix (3) 系统框架结构:J2EE 框架组织系统结构; (4) 开发工具:Jbuilder,Frontpage 2003; 2.3 需求分析 根据毕业设计的要求,传输系统的主要功能实现在网络环境下, 客户端与服务端的文件传输。主要有客户端与服务端两大模块。 整个系统基于 Web 环境,应用于 FTP 服务器,故考虑后台数据 库采用 JAVA 编写,充分发挥其在 Internet 信息处理方面上的优势, 实现方便快捷、高效实用,安全稳定的开发效果。 系统开发的总体任务是连接 FTP 服务器,上传/下载文件、对 FTP 服务器站点的管理、服务器端提供 FTP 服务、允许远程登录下 载服务器上的文件。功能层次图如图 1 所示, 图 1 FTP 功能层次图 FTP 数据流图,如图 2 所示 图 2 FTP 数据流图 3 系统详细设计 3.1 系统的主要功能 在日常的网络应用中,文件传输已经成为继即时通讯之后第二 大的网络基础应用,而点对点的文件发送是最方便的文件传输手段。 越来越多的网民或是商业用户都采 用这种方式发送文件,目前许多 即时通讯软件,例如 QQ、MSN 都有点对点文件传输功能,同时还 出现了专门的点对点文件传输工具,如快递通等。 当今比较流行的局域网内文件传输软件,如:飞鸽传书等。我 们本次制作的软件就是以飞鸽传书为参照,具体功能也是飞鸽传书 的基础上,通过分析与对比,总结其他此类软件的优缺点,制作出 一款有自己特色的内网传输软件。主要特点要突出在,方便快速, 实用性强,功能适应于广大用户,实现文件资源在局域网快速传递 分享,充分利用内网宝贵的资源。 当打开软件,首先要让通知在线用户(使用了本软件的的用户) , 让对方知道自己的在线状态,同时也获取其他用户的在线情况,及 时了解本软件的在线用户状态。用户可以根据自己的需要,向在线 用户名单列表,添加与删除当前在线用户的名单,并可以手动刷新 用户名单。当然本软件也会自动刷新用户名单列表,而且可以根据 自己的需要,设定软件自动刷新的时间间隔,做到准确掌握在线名 单。 知道了用户的在线情况,如果想对某个在线用户进行对话或发 送文件,则可以双击在线用户名单列表中的某个用户,系统将会自 动弹出一个对话框,并在对话框显示对方的连接情况。然后就可以 进行发送文字信息或回复对方,同时在信息显示栏中会显示双方之 间所进行多的全部对话历史记录。在此对话期间,还可以同时发送 文件给对方。对话框界面简单实用,方便操作,一目了然。 然而,有的人不太喜欢太多别人发信息给自己,或十分的讨厌 太多的“骚扰”信息,这个时候,只要你选择主窗口的基本设置处, 就会用相应的设置,在“自动弹开对话窗口”字样的前面,把复选框 前面的勾取消,就可以取消一切外来用户发送来的信息,也就不会 再有信息“骚扰”了。 然后回到主窗口介绍下。首先可以看到,基本设置框,直接显 示在最前端,这样方便用户进行必要的添加设置或重新设置。 用户可以根据自己的电脑配置,或自己的意图进行必要的端口 设定。此端口是用来接收文件的主要端口,通过设定此端口,有效 的提高发送速度与质量,同时还可以在一定程度上保证信息在传输 过程中的安全性。当然在局域网内,为了更多的资源共享,为了更 多的方便,也为了时间效益,我们一般选择默认的端口就可以了; 否则发送与接收文件的双方都必须先要进行“对话与协议”,才能有 效的建立文件传送与接收。 至于时间间隔项,我们在上面已经有介绍过,其主要用途就是 刷新在线用户名单,保证了对话与发送文件的实效性。 很多人在发送或接收文件的时候,总不希望自己的电脑出现当 机(也就是所谓的死机)状态。不难想象,要是很多用户同时连接 到你的电脑,此时电脑是很难发挥起“速度效益”的作用,有的时候 反而导致一系列的什么“崩溃”、 “当机”、 “停滞”现象。所以在设置“最大 连接”还是有一定的必要性的。此选项可以根据自己的需要、自己的 电脑配置进行更改。一般情况下设置为默认也就行了。 接下来的, “自动弹开对话窗口”,在上面也有轻轻的描述过,在 此就不多论述了。 现在介绍下系统的主要部分,也是核心部分。既然说是“局域网 内文件传输软件”,那么传输部分当然是不可缺少的部分。 其实此功能实现起来并不难,只要用户选择了一个文件接收对 象,即文件接收方,就可以选择文件与对方进行连接与发送文件了。 当有新文件发送,对方(接收方)会自动弹出一个接受文件的对话 窗体,对方可以接受或拒绝。对方拒绝接收文件,那么双方也就中 断了文件的接收与发送,并且接收方会通知发送方中断的消息。相 反,要是接收方同意了接收文件,文件的传输工作就会启动,进行 一系列的数据包发送与接收。此时,双方都可以很清楚的知道对方 的发送与接收状态,比如:发送方可以知道文件接收方是否中止或 退出接收,发送是否异常,是否需要重新发送数据包;接收方同样 可以知道对方的状态,以及文件接收率,速度等情况。还有很多功 能都可以在界面上直接看到,在这里就没有必要一一提出。 因为系统可以同时发送多个文件,并且可以同时与多人聊天、对话。 打开的窗口可能很多很多,十个、百个、千个? 此时,要是想关闭 这些子窗口,只需要轻轻点下“关闭子窗”,一切就 OK 了,这样就省 去了很多时间,真正体现“方便,快捷”。 为了“抗骚扰”,系统还特意的设置了黑名单功能,此功能里可 以轻易的设定需要“排斥”的对象。在这部分重要用到 FSO 模块技术, 可以动态生成一个黑名单文件,操作直观而简单。 系统的功能体现了方便与实用的特点,并不是一意追求太强大的功 能与复杂的界面,而是通用的基础上做到实效。例如其中的“多聊、 群发”功能都有力的体现了这点。 3.2 模块设计 主窗口如图 3 所示 图 3 主窗口 文件发送窗口如图 4 所示 图 3 文件发送窗口 文件接收窗口如图 5 所示 图 3 文件接收窗口 3.3 FTP 协议简介 3.3.1 什么是 FTP 协议 FTP 协议即文件传输协议(File Transfer Protocol),它是 TCP/IP 协议族的应用协议之一,是 Internet 上使用非常广泛的一 种通信协议。它是由支持 Internet 文件传输的各种规则所组成的集 合,这些规则使 Internet 用户可以把文件从一个主机拷贝到别一个 主机上。通过 TCP/IP 连接在一起的任何两台计算机,如果安装了 FTP 和服务器,就可以通过 FTP 服务进行相互之间的文件传输,因 而为用户提供了极大的方便和收益。FTP 通常也表示用户执行这个 协议所使用的应用程序。 FTP 和其他的 Internet 服务一样,亦采用客户机/服务器方式。 它要求用户用本地的客户端与服务器建立连接,然后才能从服务器 上获取文件(Download),或向服务器发送文件(Upload)。使用 方法很简单;启动 FTP 程序先与主机连接,然后向远程主机发出传 输命令,远程主机给予响应,执行正确命令。 目前 Windows 操作系统最常用的 FTP 软件有 WS-FTP,CUTEFTPT 等。FTP 有一个根本的限制,那就是:如果用户未被某一服务器授 权,未取得 User Name 和 Password 就不能访问该主机,实际上是不 能远程登陆(Remote Login)进入该主机。而 Anonymous FTP(匿名 FTP)则取消了这种限制。 3.3.2 FTP 文件传输的主要特点 用户有合法的用户名和口令的前提下才与服务器建立连接。通过 客户端软件,用户可以在权限允许的范围内进行文件更名、删除、 或传送操作。 3.3.3 FTP 支持的文件传送类型 FTP 支持的文件传送类型,它们是 ASCII 和二进制映像。 (1)文本文件(ASCII):在传送文本文件时应该使用 ASCII。在 ASCII 模式中,将执行网络标准字符转换。例如,行尾的字符在必 要时根据目标操作系统进行转换。 (2)二进制(Binary)文件的传输可执行文件、图像和压缩文件等 时应该使用二进制。在二进制模式中,一个字节接一个字节地移动 文件。 3.3.4 FTP 在实现网络传输时提供的 3 种模式 (1)流模式(Stream mode)。在这种模式下,FTP 将文件作为一 系列字节进行处理,适用于任何数据类型。FTP 针对不同的文件结 构指明文件的开始和结尾。 (2)块模式(Block mode)。在这种模式下,FTP 将文件作为大量 块传输,每一个块前都有一个报头,包含有块的大小和描述符。所 谓的描述符是用来确定该块在整个文件中的位置,指明该块是不是 最后一块,同时,描述符还有一个位来描述数据是否可靠。 (3)压缩模式(Compressed mode)。这种模式主要用于提高传输 的效率,能有效利用网络带宽。 4 结束语 4.1 系统评价 花了比较多的时间在教师论文管理上进行了详细的需求分析, 对于系统各个方面的功能有了比较透彻的了解,因此在功能模块设 计过程中能够划分出层次清晰的功能层次图。在详细功能设计中抽 取出各个功能模块共性的具体功能,对其进行了详细的描述设计, 这样各功能模块在后来的实际编码中能够快速地实现,对于服务器 管理中的数据维护、大批量录入修改等功能能够较好地实现预计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 装修公司工人安全合同
- 夫妻双方是否签合同
- 门头铝单板销售合同
- 锦江区保洁合同
- 锅炉安全技术考试题库及答案
- 管线测量考试题目及答案
- 拖拉机租金合同范本
- 掘进机检修合同范本
- 瓷砖质量赔偿协议书
- 用电承包协议书范本
- 2025北京水务投资集团有限公司所属项目单位招聘9人笔试历年参考题库附带答案详解
- 内分泌性高血压筛查专家共识(2025)课件
- 岩板开加工合同范本
- 2025年西藏公务员行测(A类)真题及答案
- 七年纪学生安全教育课件
- (2025)共青团入团考试题库及完整答案
- 种质资源的重要性
- 基础研究基金申请方案
- 《计算机系统的组成》课件
- 2025年安全生产起重机操作试题及答案
- 2025至2030中国锂电池行业项目调研及市场前景预测评估报告
评论
0/150
提交评论