软件工程毕业论文-局域网下的java聊天软件的设计与实现.doc

上传人:一*** 文档编号:2096322 上传时间:2019-04-22 格式:DOC 页数:24 大小:618.50KB
下载 相关 举报
软件工程毕业论文-局域网下的java聊天软件的设计与实现.doc_第1页
第1页 / 共24页
软件工程毕业论文-局域网下的java聊天软件的设计与实现.doc_第2页
第2页 / 共24页
软件工程毕业论文-局域网下的java聊天软件的设计与实现.doc_第3页
第3页 / 共24页
软件工程毕业论文-局域网下的java聊天软件的设计与实现.doc_第4页
第4页 / 共24页
软件工程毕业论文-局域网下的java聊天软件的设计与实现.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、本科毕业论文(20 届)局域网下的 java 聊天软件的设计与实现所在学院专业班级 计算机科学与技术学生姓名指导教师完成日期摘要随着互联网的迅猛的发展,网络逐渐成了人们获取信息的主要途径。做为传统的信息交流工具 e-mail,因为其发送和接受消息时间相对滞后的缘故,不能满足人们迅速获取信息的要求。即时通讯应运而生,为大众提供了一种崭新的综合的信息交流平台。即时通讯不同于传统的通讯工具 e-mail,在于它的交流是实时的,使得人们交流更加便捷和快速,满足了人们迅速获取信息的需求,以深受大众的喜爱,有着很好的发展前景。其中聊天软件就是即时通讯的具体实现。本系统建立在 JAVA 平台上,系统的设计使

2、用了面向对象技术和面向对象的设计原则。系统采用 C/S 结构,客户端与客户端以及客户端与服务器端之间通过 Socket 传送消息。使用 JAVA 语言编写,开发工具采用 Eclipse。服务器端设计与实现过程中,采用了多线程技术,可以在单个程序当中同时运行多个不同的线程,执行不同的任务。大大增强了程序对服务器资源的利用。关键字:多线程;客户机/服务器;java;socket;eclipseAbstractWith the rapid development of Internet, the network gradually becomes the main way for people to

3、 obtain information. As the traditional information communication tool e-mail, because of the relative lag of the sending and receiving messages of time reasons, cannot satisfy people quick access to information requirements. Im emerge as the times require, provides a new integrated information exch

4、ange platform for the public. Unlike traditional instant messaging communication tool e-mail, the exchange is that it is a real-time, makes people communicate more convenient and fast, satisfying the people quick access to information needs, so loved by the public, has a good development foreground.

5、 Concrete realization is instant messaging chat software.The system built on the JAVA platform, the system design using object-oriented technology and object-oriented design principles. System uses the C / S structure, client and client-side and server-side client and send messages through Socket. T

6、he use of JAVA language, development tools using Eclipse. Design and Implementation of server-side process, the use of multi-threading technology, which can process in a single run at the same time a number of different threads, the implementation of different tasks. Procedures greatly enhanced the

7、use of server resources.Keywords: multiple threads ; client/server ; Java ; socket ; Eclipse.2目 录1 绪论 .31.1 聊天软件开发背景 .31.2 Java 语言 .31.2.1 Java 的发展历史 .31.2.2 Java 的特点 .41.2.3 Java 与 Internet .51.3 Socket 编程 .61.3.1 关于 TCP/IP 协议 .61.3.2 服务器和客户机 .62 需求分析 .72.1 可行性分析 .72.2 系统功能需求 .72.3 系统性能需求 .73 概要设计

8、.83.1 运行环境 .83.2 软件功能框架图 .83.2.1 服务端功能框架图 .83.2.2 客户端功能框架图 .84 详细设计 .94.1 流程图 .94.1.1 服务端 .94.1.2 客户端 .104.2 编写服务器端程序 .104.2.1 通讯数据包说明(格式说明,包类型说明) .104.2.2 问题陈述 .114.2.3 解决方案 .114.3 编写客户端程序 .134.3.1 通讯数据包说明(格式说明,包类型说明) .134.3.2 问题陈述 .134.3.3 解决方案 .135 系统实现 .175.1 服务端 .175.1.1 服务器启动配置 .175.1.2 服务端主窗口

9、 .175.2 客户端 .185.2.1 客户端登陆 .185.2.2 客户端配置 .195.2.3 客户端聊天主窗口 .19致谢 .21参考文献 .2231 绪论1.1 聊天软件开发背景Internet 是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。作为 Internet 上一种先进的,易于被人们所接受的信息检索手段,World Wide Web(简称 WWW)发展十分迅速,成为目前世界上最大的信息资源宝库。据估计,目前 Internet 上已有上百万个 Web 站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用

10、户群十分庞大,因此,建设一个好的 Web 站点对于一个机构的发展十分重要。近年来计算机技术的快速发展,特别是计算机网络的发展,越来越深刻的改变了人们生活的方方面面。使得人们能以更低廉的价格,开发出更方便、更实用的网络工具。各种在线服务系统,更是深刻的影响了人们的联系和交流方式,使得人们可以在远隔千里之遥随时通讯。过去的种种陈旧的联系方式,已经不能满足现代生活的需要。网上聊天系统作为一种方便消费者与人们之间联系的实用系统便应运而生。网上聊天系统是为人们进行交流和联系提供的一个平台。通过提供完善的网上聊天系统的管理,可以达到增进人们与消费者之间、消费者与消费者之间的交流和联系的目的局域网聊天工具是

11、一种面向企业局域网终端使用者的网络沟通工具服务,使用者可以通过安装了即时通信的终端机进行两人或多人之间的实时沟通。目前,中国市场上的企业级即时通信工具主要包括:通软联合的 GoCom、腾讯公司的RTX、IBM 的 Lotus Sametime 等,免费版的有网络信使,传我,汇海集团的汇讯 WiseUC等。局域网聊天软件不再是一个单纯的聊天工具,它已经发展成集交流、资讯、娱乐、搜索、电子商务、办公协作和企业客户服务等为一体的综合化信息平台。是一种终端连往即时通讯网络的服务。局域网通讯不同于 e-mail 在于它的交谈是即时的。大部分的即时通讯服务提供了状态信息的特性显示联络人名单,联络人是否在在

12、线与能否与联络人交谈。局域网聊天工具,是以企业内部办公,建立员工交流平台为基础,通过系统整合、边缘功能,为企业提供一整套的即时沟通和实时协作的解决方案。由于企业对信息类软件的需求还在“探索”与“尝试”阶段,所以会导致很多系统不能“互通” ,这也成了局域网聊天软件的一个使命。当信息软件被广泛使用之后, “互通”接口具备否,将被作为软件被选用的重要条件。1.2 Java 语言1.2.1 Java 的发展历史在这个世界上,熟悉 Java 历史的人非常多,如果要问一个人 Java 是从哪年诞生的,也许大多数人都会回答是 1995 年(这个非常好记,因为微软的 Windows95 也是在这一年发布的)

13、。但事实上 Java 早在上个世纪 90 年代初就开始酝酿了。自 1995 年到 1998 年是 Java 的幼年时期,Sun 在 Green 项目经过了几年的研究,终于在 1995 年 5 月 23 日在 SunWorld95 上正式发布 Java 和 Hot Java 浏览器但这只是一4种语言,而要想开发复杂的应用程序,必须要有一个的强大的开发库支持还行。因此,sun 在之后的几年中推出了推出 JDK 多个版本。虽然在 1998 年之前,Java 被众多的软件企业所采用,但由于当时硬件环境和 JVM 的技术原因,它的应用却很有限。当时 Java 主要只使用在前端的 Applet 以及一些移

14、动设备中。然而这并不等于 Java 的应用只限于这些领域。在 1998 年是 Java 开始迅猛发展的一年。在这一年中 Sun 发布了JSP/Servlet、EJB 规范以及将 Java 分成了 J2EE、J2SE 和 J2ME。标志着 Java 已经吹响了向企业、桌面和移动 3 个领域进军的号角。自 1998 年到 2004 年是 Java 的青少年时期,在 1998 年 12 月 4 日。Sun 发布了 Java的历史上最重要的一个 JDK 版本:JDK1.2。这个版本标志着 Java 已经进入 Java2 时代。这个时期也是 Java 飞速发展的时期。在 Java2 时代 Sun 对 J

15、ava 进行了很多革命性的变化,而这些革命性的变化一直沿用到现在,对 Java 的发展形成了深远的影响。2004 年至今是 Java 的壮年时期。在 2004 年 10 月,Sun 发布了我们期待已久的版本:JDK1.5,同时,Sun 将 JDK1.5 改名为 J2SE5.0。和 JDK1.4 不同,JDK1.4 的主题是性能,而 J2SE5.0 的主题是易用。Sun 不仅为 J2SE5.0 增加了诸如泛型、增强的 for 语句、可变数目参数、注释(Annotations)、自动拆箱(unboxing)和装箱等功能,同时,也更新的企业级规范,如通过注释等新特性改善了 EJB 的复杂性,并推出了

16、 EJB3.0 规范。在 Java 发展的十几年的时间里,经历了无数的风风雨雨。现在 Java 已经成为一种相当成熟的语言了。在这 10 年的发展中,Java 平台吸引了数百万的开发者,在网络计算遍及全球的今天,更是有 20 亿台设备使用了 Java 技术。1.2.2 Java 的特点Java 语言有下面一些特点 :简单、面向对象、分布式、解释执行、鲁棒、安全、体系结构中立、可移植、高性能、多线程以及动态性。1.简单性Java 语言是一种面向对象的语言 ,它通过提供最基本的方法来完成指定的任务 ,只需理解一些基本的概念 ,就可以用它编写出适合于各种情况的应用程序。 Java 略去了运算符重载、

17、多重继承等模糊的概念 ,并且通过实现自动垃圾收集大大简化了程序设计者的内存管理工作。2.面向对象Java 语言的设计集中于对象及其接口 ,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法 ,实现了模块化和信息隐藏 ;而类则提供了一类对象的原型 ,并且通过继承机制 ,子类可以使用父类所提供的方法 ,实现了代码的复用。3.分布性Java 是面向网络的语言。通过它提供的类库可以处理 TCP/IP 协议 ,用户可以通过 URL 地址在网络上很方便地访问其它对象。4.鲁棒性Java 在编译和运行程序时 ,都要对可能出现的问题进行检查 ,以消除错误的产生。它提供自动垃圾收集来

18、进行内存管理 ,防止程序员在管理内存时容易产生的错误。通过5集成的面向对象的例外处理机制 ,在编译时,Java 提示出可能出现但未被处理的例外 ,帮助程序员正确地进行选择以防止系统的崩溃。另外,Java 在编译时还可捕获类型声明中的许多常见错误 ,防止动态运行时不匹配问题的出现。5.安全性用于网络、分布环境下的 Java 必须要防止病毒的入侵。 Java 不支持指针,一切对内存的访问都必须通过对象的实例变量来实现 ,这样就防止程序员使用“特洛伊 “木马等欺骗手段访问对象的私有成员 ,同时也避免了指针操作中容易产生的错误。6.体系结构中立Java 解释器生成与体系结构无关的字节码指令 ,只要安装

19、了 Java 运行时系统 ,Java 程序就可在任意的处理器上运行。这些字节码指令对应于 Java 虚拟机中的表示 ,Java 解释器得到字节码后 ,对它进行转换 ,使之能够在不同的平台运行。7.可移植性与平台无关的特性使 Java 程序可以方便地被移植到网络上的不同机器。同时 ,Java的类库中也实现了与不同平台的接口 ,使这些类库可以移植。另外,Java 编译器是由 Java 语言实现的 ,Java 运行时系统由标准 C 实现 ,这使得 Java 系统本身也具有可移植性。8.解释执行Java 解释器直接对 Java 字节码进行解释执行。字节码本身携带了许多编译时信息 ,使得连接过程更加简单

20、。9.高性能和其它解释执行的语言如 BASIC、 TCL 不同 ,Java 字节码的设计使之能很容易地直接转换成对应于特定 CPU 的机器码 ,从而得到较高的性能。10.多线程多线程机制使应用程序能够并行执行 ,而且同步机制保证了对共享数据的正确操作。通过使用多线程 ,程序设计者可以分别用不同的线程完成特定的行为 ,而不需要采用全局的事件循环机制 ,这样就很容易地实现网络上的实时交互行为。1.2.3 Java 与 InternetJava 语言取得成功的领域之一就是网络(其他语言)数页代码-(Java)一条语句。TCP/IP(传输控制协议/网间协议)是 internet 的主要协议,定义了计算

21、机和外设进行通信所使用的规则(应用层,传输层,网络层,链路层).大多数基于 internet 的应用程序被看作TCP/IP 协议的上一层. 如 : ftp, http, smtp, pop3, telnet, nntp 等。IP 地址:TCP/IP 网络中的每台计算机都有唯一的地址-IP 地址.在 Java 中,有一个用来存储 internet 地址的类叫 InterAddress.Java 提供的网络功能有三大类: URL, Socket, Datagram.1、URL 是三大功能中最高级的一种,通过 URL Java 程序可以直接送出或读入网络上的数据.2、Socket 是传统网络程序最常

22、用的方式,可以想象为两个不同的程序通过网络的通信信道.63、Datagram 是更低级的网络传输方式,它把数据的目的纪录在数据包中,然后直接放在网络上1.3 Socket 编程1.3.1 关于 TCP/IP 协议Transmission Control Protocol/Internet Protocol 的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是 Internet 最基本的协议、Internet 国际互联网络的基础,由网络层的 IP 协议和传输层的 TCP 协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了 4 层的层级

23、结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。通俗而言:TCP 负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而 IP 是给因特网的每一台电脑规定一个地址。TCP 协议是网络通信的基石,对此,Java专门提供了 Socket 的类库,在其中抽象出 TCP 协议通信的常用方法。1.3.2 服务器和客户机客户机又称为用户工作站,是用户与网络打交道的设备,一般由微机担任,每一个客户机都运行在它自己的、并为服务器所认可的操作系统环境中。服务器指一个管理资源并为用户提供服务的计算机软件,通常分为文件服务器、数据库服务器和应用程序服务器。运行以上软件

24、的计算机或计算机系统也被称为服务器。服务器的主要任务是侦听建立连接的请求,这是由我们创建的特定服务器对象完成的。而客户机的任务是试着与一台服务器建立连接,这是由我们创建的特定客户机对象完成的。一旦连接建好,那么无论在服务器端还是客户机端,连接只是魔术般地变成了一个 IO 数据流对象。从这时开始,我们可以象读写一个普通的文件那样对待连接。所以一旦建好连接,我们只需使用自己熟悉的 IO 命令即可。这正是 Java 联网最方便的一个地方。72 需求分析2.1 可行性分析(1)经济可行性:本系统无需数据库服务,由于聊天室使用人数有限,无数据库完全可以应付,所以成本就无需考虑了。(2)操作可行性:只要一

25、台以上的计算机连在同一个局域网上,本系统就可以使用了,所以操作简单,不存在问题。(3)技术可行性:本系统采用 java 语言,是基于 CS 架构的。开发这个软件需要开发者对 socket 编程和 java Swing 及多线程技术比较熟悉。由于本人对 java 应用水平有限,希望不足之处可以得到谅解。综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。2.2 系统功能需求本系统主要通过客户端、服务器端来体现聊天系统的基本功能。(1)服务器端1.处理用户注册2.处理用户登录3.处理用户发送信息,服务器监控聊天内容4.处理用户得到信息5.处理用户退出8. 服

26、务器踢人。9. 保存服务器日志。(2)客户端1.用户登录界面及结果2.用户发送信息界面及结果3.用户得到信息界面及结果4.用户退出界面及结果2.3 系统性能需求实用性:为局域网聊天提供方便,有效进行作业管理。操作简单:本系统应该适用于不同水平的使用者,包括事业单位和企业单位,同时系统不应太复杂和烦琐,因此要求系统的操作尽可能简单易行。安装使用简便:服务器端的安装简洁明了,客户机无需再装任何软件就可以直接注册登陆聊天。适应性:应该能广泛应用于不同类型的企事业单位。系统采用模块化设计,用户可以根据自己的实际情况自行组合,使系统在不同的硬件环境下都能得以应用。83 概要设计3.1 运行环境安装有 JRE1.5 以上的 windows 系统(推荐 winXP,winVista 或 win7)3.2 软件功能框架图3.2.1 服务端功能框架图这个图主要介绍服务端的功能,主要包括测试端口、保存配置、服务器管理、用户管理、日志管理。如图 1 所示。图 3-1 服务端功能框架图3.2.2 客户端功能框架图这个图主要介绍了客户端的功能,主要包括设置 IP、设置端口、修改密码、发送私聊信息、发送公聊信息、显示公告、显示在线用户。如图 2 所示。客户端登录窗口设置 退出登录配置I P配置端口聊天窗口修改密码在线用户列表公告聊天记录即时消息面板消息发送面板关闭图 3-2 客户端功能框架图

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。