基于Java平台上聊天系统的研究.doc
《基于Java平台上聊天系统的研究.doc》由会员分享,可在线阅读,更多相关《基于Java平台上聊天系统的研究.doc(38页珍藏版)》请在沃文网上搜索。
1、目录摘要1引言1第1章 系统概述21.1本课题的来源21.2本课题的目的、内容、要求31.3研究意义3第2章 技术选择分析42.1 可行性分析42.2开发工具的选择52.3开发技术的选择5第3章 需求分析63.1项目概述63.2功能需求83.3质量性能需求11第4章 概要设计124.1目的124.2运行环境124.3条件与限制134.4体系结构概述134.5功能设计13第5章 详细设计及实现195.1 客户端注册205.2 登录225.3 公聊235.4 私聊245.5发送系统消息265.6字体设置275.7发送表情275.8记录保存和显示285.9 功能逻辑实现28小结29致谢29参考文献3
2、0英文摘要30基于Java平台上聊天系统的研究摘要:网络聊天室是一种应用广泛网络聊天方式,操作简单,功能丰富,是教学和学习面向对象的编程思想的理想项目。可以使用多种编程语言设计和开发出功能完善的网络聊天室。本毕业设计论文介绍用JAVA语言分析与设计一个网络聊天室的过程,本系统采用C/S架构设计,整个项目分为服务器端和客户端。使用了最新的Java 2标准Swing组件,开发出简洁美观和布局合理的用户和服务器界面;通过对数据流操作的合理设计,实现信息传递、接受和数据保存。同时,采用多线程、多任务的设计思想,开发出性能稳定,功能全面的服务器。通过本次毕业设计可以学到如何应用和实现面向对象的各种方法,
3、如何使用Eclipse集成开发环境来创建和开发项目,从而研究系统的完整开发。关键词:聊天室;Java; Swing组件;多线程引言随着科学技术的发展和社会的进步,尤其是计算机大范围的普及,网络飞速发展的时代,网络聊天成为人们生活中不可缺少的一部分,几乎每个网民在上网的时候都会选择聊天室与虚幻世界的人们进行各种各样的交谈,聊天室对于众多网民来说并不陌生,它是网络上大家讨论交流的有效平台。随着聊天室使用的频繁,各种各样的聊天室相继出现,由于Java强大的Internet网络程序设计功能,很多聊天室服务器端都是采用Java语言进行实现,尤其是应用JAVA多线程的聊天室更为人们所关注。第1章 系统概述
4、1.1本课题的来源中国互联网络信息中心(CNNIC)发布了第21次中国互联网络发展状况统计报告,报告显示,截至2007年12月,中国网民数已经达到了2.1亿,略低于美国居世界第二位,其中宽带用户早已经突破1.37亿,达到1.63亿,另外手机上网人数与日剧曾,根据信息产业部公布的2007年10月通信行业统计月报,目前中国已有5.3亿手机有效卡数。近几年来,中国手机有效卡数增长一直维持在17%以上,平均每年增长6000万张卡,增量非常可观。 上网计算机已经达到了7800万,网民的人均每月上网费用为74.9元;中国互联网行业继续了2006年快速发展的态势。2007年一年中国网民增加了7300万人,年
5、增长率达到53.3%。相当于在过去一年中,平均每天增加网民20万人,或平均每分钟增加网民近140人。按照这个增长速度,预计2008年一月份过后,中国网民将超越美国成为全球第一。随着网络普及和上网人数的大增,在国内各大门户网站都架设了大型聊天室。如:新浪聊天室、中华网社区聊天室、搜狐等都成为网民们的热门聊天室。以新浪聊天室为例看,聊天室呈现积聚人气作用,并开设不同主题的聊天室以使网民们具有针对性的使用聊天室。新浪开设许多主题鲜明的聊天室:如针对不同地域开设了“同城联盟”,可以方便网民们和同乡之间联络和方便开展一些地域性质的活动。为针对不同年龄层而开设的“同龄话题”,使各年龄层的用户可以方便的选择
6、自己的聊天对象群体,找到自己的合适的聊天话题。并且针对目前社会流行的热门话题和流行话题都有相应的主题室。随着网络技术的不段提高和改进,近些年来视频聊天成为上网的热门聊天方式,除了可以方便互相的交流外,可以更直观的了解对方,真正实现面对面的即时聊天。并且现在随着网络聊天室的发展,其功能已经超越了普通的聊天活动,如新浪聊天室定期邀请当今社会知名人士、专家、业界领袖、优秀人物、政府部门领导等开展一些社会活动、宣传和讨论等多种形式的活动。通过网络的形式更直接的和人们进行互动,实现意见即时反馈,即时回答和解决网民们提出的问题,使活动的效果更快更好的得到发挥。发达国家的3G许可证发放工作都已经基本完成,随
7、着3G技术标准、网络设备、终端和业务的逐步成熟,3G许可证的发放已经开始从欧美地区向亚洲、非洲和中东欧地区转移。日韩是全球3G发展最为成熟的地区,截止到2006年3月底,日本和韩国的3G用户数分别占总移动用户数的53%和94%。日本WCDMA用户占全球WCDMA用户的44%。韩国CDMA2000 1X EV-DO用户占全球EV-DO用户的52%。西欧移动通信市场整体发展比较成熟,移动用户普及率处于饱和状态。截止到2004年底,西欧移动用户3.52亿,普及率高达90.1%,个别国家像英国、丹麦、希腊等移动用户普及率达到100%。到2007年4月底,我国移动用户数为4.87亿以上。从调查中可以得知
8、,移动上网用户显著增多,对网络聊天室的功能提出更多的要求和功能。同时网络聊天室也是网络应用中出现较早的应用软件,其开发技术和设计思想都已经得到成熟的发展,并且已经具有许多成功的案例。在开发技术上已经没有什么技术难题,并且具有广泛的应用和市场空间。1.2本课题的目的、内容、要求1.目的网络聊天室是一项应用广泛,并且实用性强的一个应用,虽然其功能简单,但是在其开发技术和过程中,能够充分学习和使用JAVA的技术,如:开发各界面(登入、注册、公聊、私聊等界面)使用 Swing组件技术,实现数据的保存使用JDBC数据库连接和操作技术,并且在开发过程当中,能充分的使用和体会面向对象技术的原理和方法。2.内
9、容一个网络聊天室的运行,首先是要有一个完整稳定的服务器端,并且拥有多个客服端。客服端要具有实现用户注册和用户登入,在登入成功后,要显示出公聊界面,实现聊天功能并且能够发送表情和保存聊天内容和显示聊天记录等功能,在新用户上线和用户下线时要更新每个客户端在线用户列表名,并且可以和在线的用户实现一对一的私聊功能。在服务器端可以实现不断的监听客户的连接,并且根据客户端发送过来的不同信息,如注册信息、登入信息、公聊信息、私聊信息、退出信息等,服务器端要作出不同的响应,并且要实现数据库的操作,如根据用户注册的信息保存在数据库中,根据登入时发送来的用户名和密码检测是否合法用户等。3.要求主要涉及图形用户界面
10、的开发、布局和输入/输出流数据的控制,并且要通过Socket技术实现网络功能,整个程序采用Swing图形界面,要求熟练掌握Java图形用户界面的事件处理及部分Swing组件的使用。在代码的编写上要充分体现Java面向对象开发思想和多态性,提高代码的重用性和高效性,要深入理解接口的作用和内部对象等特性等。1.3研究意义本系统具有较好的现实意义,特别是随着科学技术的发展和社会的进步,尤其是计算机大范围的普及,网络飞速发展的今天,网络聊天成为人们生活中不可缺少的一部分,几乎每个网民在上网的时候都会选择聊天室与虚幻世界的人们进行各种各样的交谈,随着聊天室使用的频繁,各种各样的聊天室相继出现,尤其是应用
11、JAVA多线程的聊天室更为人们所关注。所以这一系统实现人们所期望的页面流畅,美观,负载能力强,灵活易用,性能稳定的愿望。第2章 技术选择分析2.1可行性分析在软件开发之前对其进行可行性分析是十分必要的,可以知道该软件是否合乎用户的要求,以及行业标准,最重要的是软件的造价是否合乎用户的要求。1.经济可行性由于该软件是一个聊天室的开发,操作系统是Windows 、后台数据库采用Micsoft Access,开发环境为Eclipse, 在软件方面,都可以从网上直接下载。相关的学习资料也都可以从网上下载,也可以到图书馆查找,既经济又方便。但在实际应用方面,既方便了用户,又提高了网络的管理水平,大大的节
12、省了人力、财力、物力,聊天室的电击率会大大提高。远远超出它的研发费用。由于以上的各项分析,该软件运行灵活,又有一定的安全性,因此开发该系统具有经济可行性。2.技术可行性(1) 就执行平台而言,必须考虑的问题之一是用户可能使用的操作系统。用户可能使用的是Windows Linux。JAVA语言具有平台无关性,可以不需要任何修改就可以运行在支持JAVA的任何计算机上。(2) JAVA的Swing 组件开发技术可以开发丰富的图形界面,并且Swing API类提供了丰富的外部接口和方法,可以方便实现系统功能。(3) 就项目开发而言,纯粹的面向对象,加上数量巨大的类所提供的方法(函数)库的支持,使得利用
13、Java开发各种应用程序,可以说是易如反掌。此外,在程序除错、修改、升级和增加新功能等方面,因其面向对象的特性,使得这些维护也变得非常容易。(4) Java支持内在的多线程运行,提供分布式的并发机制,运行效率高。(5) 异常处理,为了使Java程式更稳定、更安全,Java引入了异常处理机制。能够在程序中产生异常情况的地方,执行相对应的处理,不至于因突发或意外的错误造成执行中断或是死机。通过这种异常处理,不仅能够清晰地掌握整个程序执行的流程,也使得程序的设计更为严谨。(6) 高性能,Java可以在运行时直接将目标代码翻译成机器指令。Sun用直接解释器一秒钟内可调用300,000个过程。翻译目标代
14、码的速度与C/C+的性能没什么区别。(7) 网络功能,Java可以说是借助因特网而重获新生的,自然具备编写网络功能的程序。不论是一般因特网局域网的程序,如Socket、Email、基于Web服务器的Servlet、JSP程序,甚至连分布式网络程序,如CORBA、RMI等的支持也是非常丰富的,使用起来也很方便。(8) 源回收处理,GarbageCollection是由JVM对内存实行动态管理的。程序需要多少内存、哪些程序的内存已经不使用了,需要释放归还给系统,这些烦琐且危险的操作全部交由JVM去管理。让我们能够更专心地编写程序,而不需要担心内存的问题。内存的统一管理,对于跨平台也有相当大的帮助。
15、综上所述,基于Java平台的聊天系统的开发设计具有技术可行性。2.2开发工具的选择Java的开发工具很多,而且各有优缺点,Eclipse是一个开放可扩展的集成开发环境(IDE)。它不仅可以用于Java的开发,通过开发插件,它可以构建其他的开发工具。Eclipse是开放源代码的项目,并可以免费下载。支持最新的Java标准,并且缩短了开发周期。一直以其友好的集成开发环境在业界受到广泛的赞誉,这也是Eclipse一直是广大程序员最喜爱的Java开发工具的原因之一。Eclipse的可视化集成开发环境包括文本编辑器、工程创建工具、对象浏览器和调试器等。用户可以在集成开发环境中创建工程和打开工程,建立、打
16、开和编辑文件,并可以编译、运行和调试应用程序。可以说在Eclipse集成开发环境中开发Java程序,快速而且高效。其主要特点如下:1.开放的可扩展的IDE2.成功的底层图形界面API3.强大的插件加载功能4.可以通过导入一些CVS相关的插件来实现版本管理的便易性2.3开发技术的选择本课题选择了java Socket技术开发网络聊天室。什么是socket? socket是一种用于表达两台机器之间连接“终端”的软件抽象。对于一个给定的连接,在每台机器上都有一个socket,你可以想象一个虚拟的电缆工作在两台机器之间,“电缆”插在两台机器的socket上。当然,物理硬件和两台机器之间的“电缆”这些连
17、接装置都是未知的,抽象的所有目的就是为了让我们不必了解更多的细节。简单的说,一台计算机上的socket同另一台计算机通话创建一个通信信道,程序员可以用这个信道在两台机器之间发送数据。当你发送数据时,TCP/IP协议栈的每一层都给你的数据里添加适当的报头。有个好消息是java语言隐藏了所有这些细节,这也是为什么他们有时被叫做“流socket”。思考一下socket像电话听筒一样在电话的任意一端你和我通过一个专门的信道来进行通话和接听。会话将一直进行下去直到我们决定挂断电话(除非我们使用蜂窝电话),除非我们挂断电话,否则我们各自的电话线路都会占线。如果你需要在两台机器之间进行通讯而不使用高级机制像
18、ORBs(以及CORBA, RMI, IIOP等等),socket比较适合你。Socket的底层机制则相当棘手。幸运的是,java平台给我们一些虽然简单但是相当强大的高层抽象以至于我们创建和使用socket更加容易一些。一般而言,java socket有下面两种类型:TCP socket(由Socket类实现,下面的章节我们将对其讨论)UDP socket(由DatagramSocket类实现)TCP和UDP扮演同样的角色,但是实现是不同的。两者都接收传输协议数据包并把它们传递到表示层。TCP把信息分解成数据包(datagrams)并在接收端重新组装起来。它还对丢失的数据包进行重新传输的请求。
19、TCP减少了上层的担忧。UDP没有组装和重传请求的功能。它只是传输数据包。更高层的层必须确保信息的完整性以及组合顺序的正确性。第3章 需求分析3.1项目概述1.产品描述人们日常生活中越来越多地使用这项新的技术来为自己的工作和学习服务。一个操作简单、界面友好、运行稳定的网络聊天室对于小型局域网内的用户可以起到很好的交流作用。本聊天室,所谓聊天室就是一个可以让许多用户同时互相通信的网上园地,个人用户可以通过网上聊天室将自己融入整个主流社会中。由于目前上网的一般都是具有高学历的新一代创业者,因此,在网上聊天室这个虚拟的社会中,可以结交各层次各地方的朋友,从而为自己获取更多的知识和更多的阅历。该小聊天
20、室是为许多喜爱上网聊天的朋友开发设计的,希望能在现有的众多聊天室中给大家多一种的选择。和许多大型的网络聊天室相比该小聊天室比较简单,但能实现聊天的基本功能,点对多聊天,点对点聊天等,基于时间和技术的原因,很遗憾传送文件的功能尚未实现。本聊天室主要由注册界面、登录界面、聊天室界面、私聊界面、查看聊天内容界面、功能设置界面等构成。整个设计简洁明了、实用,使用简单。客户端登入通信功能设置记录保存用户登入用户注册公聊私聊字体颜色字体类型字体大小表情公聊记录添加文字图3-1 客户端结构图服务器监听情况发送系统消息显示登入情况图3-2 服务器结构图2.产品功能本项目具有以下主要功能:(1)客户端:n 用户
21、注册功能,实现用户的登入ID注册和个人信息,并存入服务器数据库 中。n 用户登入功能,实现合法注册用户的登入。n 公聊功能,实现用户和在线的所有用户聊天方式。n 私聊功能,实现用户和在线的其他用户一对一的聊天方式。n 查看聊天记录,实现用户查看已聊天的历史聊天内容,分为公聊记录和私聊记录。n 发送表情和设置聊天内容字体,并可以设置字体颜色和背景色等。(2)服务端:n 可以不断的监听客户端请求n 显示登入客户的信息n 发送系统消息3.2功能需求1.用户注册1) 需求描述:用户填写系统给出的注册项目,并提交给系统,成功注册后,系统生成用户所注册的登入ID,并保存在数据库当中。2) 执行者:用户3)
22、 前置条件:无4) 后置条件:无5) 正常过程:l 向服务端发送注册请求l 服务端响应客户端,客户端弹出注册信息表单l 用户填写完表单后将注册数据传给服务端处理,并保存在数据库中l 返回客户端一个响应,显示用户注册的ID,提示注册成功。6) 异常过程(可选):l 用户填写表单的数据格式不正确或表单中存在空缺的项,客户端给予提示信息,并将光标定位到出错的地方。l 用户注册的项在数据库中发生冲突,客户端提示注册不成功并提示用户重新填写表单。l 服务器未启动或出现异常2.用户登入1) 需求描述:用户填写登入ID 和密码,经服务器验证成功后进入聊天室主界面。2) 执行者:用户3) 前置条件:用户成功注
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Java 平台 聊天 系统 研究
