(完整版)JAVA聊天室毕业设计论文

上传人:Fi****mo 文档编号:73783004 上传时间:2022-04-12 格式:DOC 页数:23 大小:456KB
收藏 版权申诉 举报 下载
(完整版)JAVA聊天室毕业设计论文_第1页
第1页 / 共23页
(完整版)JAVA聊天室毕业设计论文_第2页
第2页 / 共23页
(完整版)JAVA聊天室毕业设计论文_第3页
第3页 / 共23页
资源描述:

《(完整版)JAVA聊天室毕业设计论文》由会员分享,可在线阅读,更多相关《(完整版)JAVA聊天室毕业设计论文(23页珍藏版)》请在装配图网上搜索。

1、江苏省徐州机电工程高等职业学校毕业设计姓名:杨雪芳系部:信息工程系专业:软件技术设计题目:聊天室( Java )指导教师:SIDDHANT 、韩伟职称:2012 年 07 月摘要随着 Internet 技术的发展,人们的日常生活已经离不开网络。未来社会人们的生活和工作将越来越依赖于数字技术的发展,越来越数字化、网络化、电子化、虚拟化。电子商务也随着网络的发展日益和人们的生活贴近。 Internet 的发展历程以及目前的应用状况和发展趋势,可以充分地相信网络技术将极大的改变我们的生活和工作方式,甚至社会的价值观也会发生某种变化。在网络飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠

2、道,它在人们政治、经济、生活等各个方面发挥着重要的作用。传统的信息交流工具,不能满足人们即时获取信息的要求。因此,网上聊天便成为人们的首选, 而一个好的聊天工具是:操作简单、方便、 人性化,节省系统资源。为了方便与人即时联系及数据汇报,特构建此聊天系统。本论文通过 Java 的 Socket 实现了一个基于局域网和网络的聊天室程序的开发。本论文详细介绍其设计和实现过程。关键词 :聊天室; Java ;客户机服务器; Socket ;AbstractWiththedevelopmentofInternettechnology,peoplesdailylives can not be separa

3、ted from the network. Society, people livingandworkingmoreandmoredependentonthedevelopmentofdigital technology,moreandmoredigital,networked,electronic,virtualization.E-commerceWiththedevelopmentofincreasinglyclose to peoples lives. The course of development of the Internetand the current application

4、 status and development trend, we canfullybelievethatnetworktechnologywilldramaticallychangethewayweliveandwork,andevensocialvaluesmayalso occur achange.The rapiddevelopmentofnetwork,theInternetimportantchannel for transmitting information, it play an important role in apersonspolitical,economic,and

5、otheraspectsoflife.Thetraditional information-sharing tools can not meet the requirementsof people instant access to information. Therefore, online chats willbecomethefirst choiceofthepeople,and a goodchattools are:simpleoperation,convenient,user-friendly,savingsystemresources.Inordertofacilitateimm

6、ediatecontactanddatareporting, special build this chat system.In this thesis, through the Java Socket development of a localarea network and network-based chat program. This paper detailsthe design and implementation process.Keywords:chat rooms; the Java; ClientServer;the Socket;目录 .1.11.292.1Java2.

7、2Java2.3TCPIP2.4SOCKET2.53.13.23.3 4.1第1章绪论主流,尤其在网络技术开发中,面向对象的Java 语言编程和相关的Java技术正在以前所未有的速度发展。网上购物、网上银行、远程教学、网络聊天、网络游戏等都开始使用Java 技术。而且 Java 使平台无惯性的思想成为现实,独立的 Java 程序可以被编译为与平台无关的字节码,这种字节码可以运行在任何拥有Java 解释器的机器上。真正降低了企业成品和程序员的负担。随着信息科学的进步与互联网络的发展,虽然通过网络的聊天软件很多,但针对于内部系统的、局域网内的聊天和公司内部的上下级沟通的聊天通讯软件却很少。所以开发

8、一个此类型的即时通讯系统就变得非常有意义了。1.1聊天室的发展聊天室作为即时通讯的一种,即时通讯(Instant Messenger,简称IM)软件可以说是目前我国上网用户使用率最高的软件,无论是老牌的ICQ,还是国内用户量第一的腾讯,以及微软的MSN Messenger都是大众关注的焦点,它们能让你迅速的在网上找到你的朋友或工作伙伴,可以实时交谈和互传信息。而且,现在不少IM 软件还集成了数据交换、语音聊天、网络会议、电子邮件的功能。IM 软件的历史并不久远,但是它一诞生,就立即收到网民的喜爱,并风靡全球。在它的发展史上,以色列人是功不可没的。正是四位以色列籍的年轻人,在 1996 年 7

9、月成立的 Mirabilis公司,并于同年11 月推出了全世界第一个即时通讯软件ICQ,取意为 “我在找你” “I Seek You”,简称 ICQ 了。知道现在, ICQ已经推出了它的2002a 版本,在全球即时通讯市场上占有非常重要的地位。目前,国内最为流行的即时通讯软件是OICQ (简称)。它以良好的中文界面和不断增强的功能形成了一定的网络文化。Messenger 虽出道较晚,但依托微软的强大背景,实力也不可小视。最为Windows XP 的一部分, Messenger 整合了操作系统的许多功能, 如多种形式的聊天选择、多人的单窗口讨论式交流以及充分的文件与桌面共享功能等。 它的令人耳目

10、一新的中文界面和注册方式,连同它强大的功能了,着实吸引了众多的眼球的注视,此外还有许多有特点的IM软件。第 2 章系统开发环境与工具的选择2.1本课题开发环境的选择在进行开发之前 , 首先决定的第一个问题就是 , 选择编程语言开发环境和开发工具 , 我选用了 JAVA 作为开发环境来编写该系统 , 具体选择原因如下 :选择 JAVA语言开发技术 :1、就执行平台而言,必须考虑的问题之一是用户可能使用的操作系统。用户可能使用的是Windows Linux 。 JAVA语言具有跨平台性。2、JAVA的 Swing 组件开发技术可以开发丰富的图形界面,并且 SwingAPI 类提供了丰富的外部接口和

11、方法,可以方便实现系统功能。3、就项目开发而言,纯粹的面向对象,加上数量巨大的类所提供的方法(函数)库的支持,使得利用Java 开发各种应用程序,可以说是易如反掌。此外,在程序除错、修改、升级和增加新功能等方面,因其面向对象的特性,使得这些维护也变得非常容易。4、Java 支持内在的多线程运行,提供分布式的并发机制,运行效率高。5、异常处理,为了使Java 程式更稳定、更安全, Java 引入了异常处理机制。能够在程序中产生异常情况的地方,执行相对应的处理,不至于因突发或意外的错误造成执行中断或是死机。通过这种异常处理,不仅能够清晰地掌握整个程序执行的流程,也使得程序的设计更为严谨。6、高性能

12、, Java 可以在运行时直接将目标代码翻译成机器指令。Sun用直没什么区别。2.2本课题开发工具的选择Java 的开发工具很多, 而且各有优缺点, 在这里我选用了 Eclipse 作为开发工具 ,Eclipse 是一个开放可扩展的集成开发环境 (IDE) 。它不仅可以用于 Java 的开发,通过开发插件,它可以构建其他的开发工具。 Eclipse是开放源代码的项目,并可以免费下载。支持最新的Java 标准,并且缩短了开发周期。一直以其友好的集成开发环境在业界受到广泛的赞誉,这也是 Eclipse一直是广大程序员最喜爱的Java 开发工具的原因之一。Eclipse的可视化集成开发环境包括文本编

13、辑器、工程创建工具、对象浏览器和调试器等。用户可以在集成开发环境中创建工程和打开工程,建立、打开和编辑文件,并可以编译、运行和调试应用程序。可以说在Eclipse集成开发环境中开发Java 程序,快速而且高效。其主要特点如下:1. 开放的可扩展的 IDE2. 成功的底层图形界面 API3. 强大的插件加载功能2.3本课题开发技术的选择本课题选择了java Socket技术开发网络聊天室。什么是socket?socket是一种用于表达两台机器之间连接“终端”的软件抽象。对于一个给定的连接,在每台机器上都有一个socket,你可以想象一个虚拟的 电缆 工作在两台机器之间,“电缆”插在两台机器的so

14、cket 上。当然,物理硬件和两台机器之间的“电缆”这些连接装置都是未知的,抽象的所有目的就是为了让我们不必了解更多的细节。第3章需求分析3.1项目概述产品描述 :我这个聊天室是和许多大型的网络聊天室相比该小聊天室比较简单,但能实现聊天的基本功能,群聊,私聊等,基于时间和技术的原因,很遗憾传送文件的功能尚未实现。 本聊天室主要由登录界面、 聊天室界面构成。整个设计简洁明了、实用,使用简单。图 3-1 客户端结构图图 3-2 服务器结构图产品功能本项目具有以下主要功能客户端:用户登入功能。群聊功能,实现用户和在线的所有用户聊天方式。私聊功能,实现用户和在线的其他用户一对一的聊天方式。获取好友列表

15、功能 , 把上线的新用户添加到好友列表里。服务端:可以不断的监听客户端请求发送消息3.2功能需求用户登入需求描述:用户填写用户名,进入聊天室主界面。执行者:用户正常过程:向服务端请求连接,并发送登录信息;服务端处理用户信息;返回客户端一个响应,弹出聊天室主界面;更新在线用户的用户列表信息。公聊需求描述:用户在聊天室文本区域输入发言内容,聊天室中的其他在线用户可以正常接受并正确显示(包括上线提醒和下线提醒)。执行者:登入用户正常过程:客户端用户登入成功后,启动客户端功能线程;客户端将用户发送的信息打包传送给服务端;服务端进行数据分析后,并将用户的信息进行正确的处理;传给处在聊天室的所有在线其他用

16、户并正常显示。私聊需求描述:用户可选择聊天室的在线用户列表中任意一个用户聊天,双方发送的信息对于聊天室的其他用户是不可见的。执行者:私聊用户正常过程:客户端与服务端建立通讯。客户端将用户发送的信息打包传送给服务端。服务端进行数据分析,查找被选中的用户,并将信息传给选中的用户。选中的用户收到服务器的信息后,正确的显示。特殊需求:私聊得选中用户, 不能与自己进行私聊。好友列表需求描述:登录的每一个用户都显示在好友列表里。执行者:客户端正常过程:把登陆的用户显示在好友列表里。服务器通知所有用户新用户上线了。客户端接收到消息,进行消息处理,并正确显示。用户退出需求描述:用户在正常情况下退出聊天室。执行

17、者:用户正常过程:向服务器发送用户退出消息。服务器进行用户退出的数据处理。服务器向聊天室其他用户发送用户下线消息。刷新其他在线用户的用户列表信息。第 4章概要设计4.1目的该阶段目的在于明确网络聊天室系统的数据结构和软件总体结构,各个软件模块的功能说明,数据结构的细节,系统运行配置与应用方式以及使用的关键技术。4.2运行环境运行环境见下表。名操作系统类推荐硬件推荐操作系统版本数据库称型(CPURAMHD)Windows 平windows 2000以客户端P4 1.7G256M40G台上Windows 平windows 2000以服务器台上P4 3.6G8G120G表 4.14.3体系结构概述本

18、系统采用CS 的结构设计模式,客户端接收用户的发送的信息到服务器,服务器通过处理转发到另一些客户端。客户端采用图形用户界面,方便与用户交互。服务器端用控制台的方式方便控制操作。客户端分为用户登录、 群聊、私聊、好友列表。 用户登录封装在用户登录的界面中,群聊、私聊、用户列表模块封装在聊天的主界面中。服务器端实现消息接收、消息转发等功能。4.4功能设计用户登录用户进到登入界面,填写登入用户名实现用户的登入图 4-1登录图公聊用户登入成功后进入聊天界面,通过输入聊天内容实现和其他的用户聊天,并可以显示其他用户发送的公聊信息。点击群聊按钮图 4-2群聊图私聊用户通过选择在线用户列表的其他用户,实现和

19、选中的用户进行私聊方式进行交流,其他用户不可见。点击私聊按钮图 4-3私聊图好友列表用户登陆成功后,经过服务器处理后,通知所有在线的用户有新用户上线了并把新用户显示在好友列表里。图 4-4好友列表图用户退出在线的用户点击退出按钮,向服务器发送请求,服务器接受请求并处理,并通知所有在线用户该用户退出了,在所有好友列表里移除该用户,退出聊天页面。图 4-5 用户退出图第 5章 详细设计本系统采用 CS 设计模式,系统分为客户端和服务器端,客户端包括登入模块,聊天模块。服务器端服务器启动实现模块。5.1登入功能描述在该登陆页面下,我把端口写死了,只需输入用户名就可以直接登入聊天室主界面。登陆界面窗口

20、如下:5.2群聊功能描述用户在文本编辑区域输入信息,单击群聊按钮直接把信息发送到群聊显示的区域。并且按照发送来的信息中包含好的显示方式正确显示出信息。群聊界面窗口如图所示:5.3私聊功能描述用户在文本编辑区域输入信息,选中要私聊的对象,单击私聊按钮直接把信息发送到该用户私聊显示的区域。并且按照发送来的信息中包含好的显示方式正确显示出信息。私聊对象不能选择自己,如果选择自己,会弹出“不能和自己私聊”的提示框,还有不能不选择私聊对象,如果不选择的话,会弹出“请选择私聊对象”的提示框。私聊界面窗口如图所示:5.4好友列表功能描述服务器端收到用户上线或下线时发送给它的请求,刷新好友列表。5.5用户退出

21、功能描述在聊天页面 , 单击关闭按钮 , 该用户就退出了并通知其他在线用户该用户退出了。如图所示:5.6功能逻辑实现逻辑功能描述本系统采用数据对象流的形式发送和接受信息。客户端连接服务器成功后就启动一个客户端线程和服务器通信。客户端发送的信息分为:登入消息、群聊消息、私聊消息、用户上下线消息提醒等。服务器端启动一个线程不断的监听客户的请求,当接受到客户请求时就启动一个和该客户端通信的线程。第6章系统测试为了确保本系统能够正常运行, 需要在发布之后做一次较全面的测试。现将具体操作及过程举例说明如下:6.1测试举例测试程序登录界面打开程序后,首先出现的是登录页面,输入用户名,点击登录按钮,。测试程

22、序主界面进入主界面后,主页面会显示群聊信息显示区、私聊信息显示区、文本编辑显示区、在线用户列表区、功能按钮区。用户可以在用户列表中看到目前在线的其他用户,并在群聊信息显示区内看到用户上下线通知和群聊信息,私聊信息显示区内看到私聊的信息。用户可以在文本编辑显示区内输入自己的发送内容, 并可以通过单击用户列表名中的用户,进行私聊,发送的信息其他用户不可以见。测试程序退出当单击退出按钮或窗体的关闭时,用户将发送退出信息, 离开聊天室,其他用户可以得到系统提示用户下线并刷新用户列表。6.2测试项目由于实际开发过程中还是不可避免地会产生差错,系统中通常可能隐藏着错误和缺陷,不经周密测试的系统投入运行,将

23、会造成难以想象的后果,因此系统测试是软件开发过程中为保证软件质量必须进行的工作。单元测试单元测试也称模块测试或程序测试,单元测试是对每个模块单独进行的,验证模块接口与设计说明书是否一致,对模块的所有主要处理路径进行测试且与预期的结构进行对照,还要对所有错误处理路径进行测试。对源码进行审查,对照设计说明书,表态地检查源程序是否符合功能的逻辑要求,是进行单元测试前的重要工作工。单元测试一般是由程序员完成,也称程序调试。系统测试系统测试是对整体性能的测试,主要解决各子系统之间的数据通信和数据共享问题以及检测系统是否达到用户的实际要求,系统测试的依据是系统分析报告。系统测试应在系统的整个范围内进行,这

24、种测试不只对软件进行,而是对构成系统的硬、软件一起进行。系统测试与建构同时进行或略慢。系统测试需要确认从头到尾的功能正常才算完成,应当尽量避免系统测试延到项目末尾进行。结 论首先,我选择本课题缘由是刚刚接触 JAVA 项目,主要也想试一试,更近一步的提高自己的能力。并且也可以对网络开发产生兴趣,对具有网络功能的项目更有感觉。大学三年的学习期间,通过学校开设的基础课程,扎实系统的学习了软件的基础知识,并对面向对象编程语言有了进一步的理解, 对软件专业逐步的建立起自己的知识体系框架。通过这次的学年论文,使自己在JAVA 编程语言的使用方面得到一个全面锻炼自己的机会,在这个模块的界面开发方面,充分的

25、学习和利用了JavaSwing 界面开发技术,使自己在界面应用和布局方面得到更多的实践,应用Socket 技术实现网络连接功能,对网络的实现和通信方面有了进一步的理解,并通过多线程方面的应用,使客户端和服务端可以实现多任务功能,在整个开发过程当中应用软件工程的开发步骤,使自己专业理论知识的到进一步的巩固,项目开发经验有不少的收获。通过完成这次学年论文的项目,使自己在项目实际开发方面有了进一步的提高,并使自己感觉到成功的喜悦,并对自己在专业的未来发展更充满信心,对自己在今后的工作中有更好的帮助。参考文献( 1)胡伏湘雷军环 JAVA程序设计实用教程编著清华大学出版社( 3)张思民 Java 开发

26、技术与工程实践 清华大学出版社( 4) 陈轶 . 姚晓昆编著 .Java 程序设计实验指导 . 北京:清华大学出版社,2006( 5) 杨昭编著 . 二级 Java 语言程序设计教程 . 北京:中国水利水电出版社, 2006( 6) 赵文靖编著 .Java 程序设计基础与上机指导 . 北京:清华大学出版社, 2006( 7) 王路群 .Java 高级程序设计 . 北京:中国水利水电出版社, 2006( 8) 吴其庆编著 .Java 程序设计实例教程 . 北京:冶金工业出版社, 2006( 9) 柳西玲 . 许斌编著 .Java 语言应用开发基础 . 北京:清华大学出版社,2006( 10)施霞

27、萍等编著 .Java 程序设计教程第 2 版 . 北京:机械工业出版社,2006( 11) 宛延闿等编著 . 实用 Java 程序设计教程 . 北京:机械工业出版社,2006( 12) 陈国君等编著 .Java2 程序设计基础 . 北京:清华大学出版社, 2006( 13) 郑莉 . 王行言 . 马素霞编著 .Java 语言程序设计 . 北京:清华大学出版, 2006( 14) 丁振凡主编 .Java 语言实用教程 . 北京:北京邮电大学出版社, 2005( 15) 朱喜福等编 .Java 程序设计 . 北京:人民邮电出版社, 2005( 16)参考新浪聊天室、 腾讯聊天室等致谢在这次的学年论文的设计过程中,通过导师的指导,了解并熟悉了完成一个项目的具体过程和步骤,使自己在整个过程当中不段的学习解决问题的能力。软件专业是一门比较热门和前沿的学科,涉及许多知识领域和技术,拥有许多最新知识资料,应在项目的开发过程中,不断的查阅相关的帮助文档。程序的开发过程要养成良好的习惯,并遵循一定的标准规范,将项目进行合理分析设计。学年论文设计是我们大学期间的一次锻炼,经过这段时间的努力,使自己在专业知识方面有个全面复习的机会,使自己在设计工程中得到最好的实践锻炼,并学会了许多在一个项目开发过程中必须具备的素质。我要衷心感谢李艳导师在我的学年论文设计过程中给予我的指导和帮助。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!