版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
江苏省徐州机电工程高等职业学校毕业设计姓名:杨雪芳学号:01000076系部:信息工程系专业:软件技术设计题目:聊天室(Java)指导教师:SIDDHANT、韩伟职称:07月摘要伴随Internet技术的发展,人们的平常生活已经离不开网络。未来社会人们的生活和工作将越来越依赖于数字技术的发展,越来越数字化、网络化、电子化、虚拟化。电子商务也伴随网络的发展日益和人们的生活贴近。Internet的发展历程以及目前的应用状况和发展趋势,可以充足地相信网络技术将极大的变化我们的生活和工作方式,甚至社会的价值观也会发生某种变化。在网络飞速发展的今天,互联网成为人们迅速获取、公布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。老式的信息交流工具,不能满足人们即时获取信息的规定。因此,网上聊天便成为人们的首选,而一种好的聊天工具是:操作简朴、以便、人性化,节省系统资源。为了以便与人即时联络及数据汇报,特构建此聊天系统。本论文通过Java的Socket实现了一种基于局域网和网络的聊天室程序的开发。本论文详细简介其设计和实现过程。关键词:聊天室;Java;客户机/服务器;Socket;AbstractWiththedevelopmentofInternettechnology,people'sdailylivescannotbeseparatedfromthenetwork.Society,peoplelivingandworkingmoreandmoredependentonthedevelopmentofdigitaltechnology,moreandmoredigital,networked,electronic,virtualization.E-commerceWiththedevelopmentofincreasinglyclosetopeople'slives.ThecourseofdevelopmentoftheInternetandthecurrentapplicationstatusanddevelopmenttrend,wecanfullybelievethatnetworktechnologywilldramaticallychangethewayweliveandwork,andevensocialvaluesmayalsooccurachange.Therapiddevelopmentofnetwork,theInternethasbecomethequickaccess,publish,andanimportantchannelfortransmittinginformation,itplayanimportantroleinaperson'spolitical,economic,andotheraspectsoflife.Thetraditionalinformation-sharingtoolscannotmeettherequirementsofpeopleinstantaccesstoinformation.Therefore,onlinechatswillbecomethefirstchoiceofthepeople,andagoodchattoolsare:simpleoperation,convenient,user-friendly,savingsystemresources.Inordertofacilitateimmediatecontactanddatareporting,specialbuildthischatsystem.Inthisthesis,throughtheJavaSocketdevelopmentofalocalareanetworkandnetwork-basedchatprogram.Thispaperdetailsthedesignandimplementationprocess.Keywords:chatrooms;theJava;Client/Server;theSocket;目录首页…………………中文摘要……………英文摘要……………绪论………………………..1.1聊天室的发展………………………1.2即时通讯的9大应用………………实现聊天室的有关技术及环境……………2.1Java的概述………………2.2Java的特点………………2.3TCP/IP协议常识…………2.4SOCKET的简介……………2.5系统开发工具……………网络聊天系统的系统设计…………………3.1项目概述………………3.2功能需求………………3.3聊天室系统的系统设计………………3.3.1聊天系统工作原理……………3.3.2系统实现原理…………………第四章聊天室系统的实现及测试…………………4.1总结道谢参照文献附录部分源程序代码第1章绪论网络技术是计算机领域中发展最为迅速的技术之一,它在政治、经济、生活等各个方面发挥着十分重要的作用。伴随计算机网络的普及和推广,将会有越来越多的人运用网上资源,享有不停发展和完善的网络服务,以此来提高工作效率和水平。伴随我国经济的发展和网络的普及,网络技术也越来越多地被应用于平常工作之中。在程序设计领域,面向对象的编程技术正在逐渐替代面向过程的程序设计技术,成为计算机应用设计开发的主流,尤其在网络技术开发中,面向对象的Java语言编程和有关的Java技术正在此前所未有的速度发展。网上购物、网上银行、远程教学、网络聊天、网络游戏等都开始使用Java技术。并且Java使平台无惯性的思想成为现实,独立的Java程序可以被编译为与平台无关的字节码,这种字节码可以运行在任何拥有Java解释器的机器上。真正减少了企业成品和程序员的承担。伴随信息科学的进步与互联网络的发展,虽然通过网络的聊天软件诸多,但针对于内部系统的、局域网内的聊天和企业内部的上下级沟通的聊天通讯软件却很少。因此开发一种此类型的即时通讯系统就变得非常故意义了。1.1聊天室的发展聊天室作为即时通讯的一种,即时通讯(InstantMessenger,简称IM)软件可以说是目前我国上网顾客使用率最高的软件,无论是老牌的ICQ,还是国内顾客量第一的腾讯QQ,以及微软的MSNMessenger都是大众关注的焦点,它们能让你迅速的在网上找到你的朋友或工作伙伴,可以实时交谈和互传信息。并且,目前不少IM软件还集成了数据互换、语音聊天、网络会议、电子邮件的功能。IM软件的历史并很快远,不过它一诞生,就立即收到网民的爱慕,并风行全球。在它的发展史上,以色列人是功不可没的。正是四位以色列籍的年轻人,在1996年7月成立的Mirabilis企业,并于同年11月推出了全世界第一种即时通讯软件ICQ,取意为“我在找你”——“ISeekYou”,简称ICQ了。懂得目前,ICQ已经推出了它的a版本,在全球即时通讯市场上占有非常重要的地位。目前,国内最为流行的即时通讯软件是OICQ(简称QQ)。它以良好的中文界面和不停增强的功能形成了一定的QQ网络文化。Messenger虽出道较晚,但依托微软的强大背景,实力也不可小视。最为WindowsXP的一部分,Messenger整合了操作系统的许多功能,如多种形式的聊天选择、多人的单窗口讨论式交流以及充足的文献与桌面共享功能等。它的令人耳目一新的中文界面和注册方式,连同它强大的功能了,着实吸引了众多的眼球的注视,此外尚有许多有特点的IM软件。第2章系统开发环境与工具的选择2.1本课题开发环境的选择在进行开发之前,首先决定的第一种问题就是,选择编程语言开发环境和开发工具,我选用了JAVA作为开发环境来编写该系统,详细选择原因如下:选择JAVA语言开发技术:1、就执行平台而言,必须考虑的问题之一是顾客也许使用的操作系统。顾客也许使用的是WindowsLinux。JAVA语言具有跨平台性。2、JAVA的Swing组件开发技术可以开发丰富的图形界面,并且SwingAPI类提供了丰富的外部接口和措施,可以以便实现系统功能。3、就项目开发而言,纯粹的面向对象,加上数量巨大的类所提供的措施(函数)库的支持,使得运用Java开发多种应用程序,可以说是易如反掌。此外,在程序除错、修改、升级和增长新功能等方面,因其面向对象的特性,使得这些维护也变得非常轻易。4、Java支持内在的多线程运行,提供分布式的并发机制,运行效率高。5、异常处理,为了使Java程式更稳定、更安全,Java引入了异常处理机制。可以在程序中产生异常状况的地方,执行相对应的处理,不至于因突发或意外的错误导致执行中断或是死机。通过这种异常处理,不仅可以清晰地掌握整个程序执行的流程,也使得程序的设计更为严谨。6、高性能,Java可以在运行时直接将目的代码翻译成机器指令。Sun用直接解释器一秒钟内可调用300,000个过程。翻译目的代码的速度与C/C++的性能没什么区别。2.2本课题开发工具的选择Java的开发工具诸多,并且各有优缺陷,在这里我选用了Eclipse作为开发工具,Eclipse是一种开放可扩展的集成开发环境(IDE)。它不仅可以用于Java的开发,通过开发插件,它可以构建其他的开发工具。Eclipse是开放源代码的项目,并可以免费下载。支持最新的Java原则,并且缩短了开发周期。一直以其友好的集成开发环境在业界受到广泛的赞誉,这也是Eclipse一直是广大程序员最爱慕的Java开发工具的原因之一。Eclipse的可视化集成开发环境包括文本编辑器、工程创立工具、对象浏览器和调试器等。顾客可以在集成开发环境中创立工程和打动工程,建立、打开和编辑文献,并可以编译、运行和调试应用程序。可以说在Eclipse集成开发环境中开发Java程序,迅速并且高效。其重要特点如下:1.开放的可扩展的IDE2.成功的底层图形界面API3.强大的插件加载功能2.3本课题开发技术的选择本课题选择了javaSocket技术开发网络聊天室。什么是socket?socket是一种用于体现两台机器之间连接“终端”的软件抽象。对于一种给定的连接,在每台机器上均有一种socket,你可以想象一种虚拟的"电缆"工作在两台机器之间,“电缆”插在两台机器的socket上。当然,物理硬件和两台机器之间的“电缆”这些连接装置都是未知的,抽象的所有目的就是为了让我们不必理解更多的细节。
需求分析3.1项目概述3.1.1产品描述:我这个聊天室是和许多大型的网络聊天室相比该小聊天室比较简朴,但能实现聊天的基本功能,群聊,私聊等,基于时间和技术的原因,很遗憾传送文献的功能尚未实现。本聊天室重要由登录界面、聊天室界面构成。整个设计简洁明了、实用,使用简朴。客户端登录界面客户端登录界面顾客登入公聊私聊聊天界面好友列表端口号服务器服务器监听祈求接受消息发送消息图3-2服务器构造图3.1.2产品功能本项目具有如下重要功能客户端:顾客登入功能。群聊功能,实现顾客和在线的所有顾客聊天方式。私聊功能,实现顾客和在线的其他顾客一对一的聊天方式。获取好友列表功能,把上线的新顾客添加到好友列表里。服务端:可以不停的监听客户端祈求发送消息3.2功能需求3.2.1顾客登入需求描述:顾客填写顾客名,进入聊天室主界面。执行者:顾客正常过程:向服务端祈求连接,并发送登录信息;服务端处理顾客信息;返回客户端一种响应,弹出聊天室主界面;更新在线顾客的顾客列表信息。3.2.2公聊需求描述:顾客在聊天室文本区域输入发言内容,聊天室中的其他在线顾客可以正常接受并对的显示(包括上线提醒和下线提醒)。执行者:登入顾客正常过程:客户端顾客登入成功后,启动客户端功能线程;客户端将顾客发送的信息打包传送给服务端;服务端进行数据分析后,并将顾客的信息进行对的的处理;传给处在聊天室的所有在线其他顾客并正常显示。3.2.3私聊需求描述:顾客可选择聊天室的在线顾客列表中任意一种顾客聊天,双方发送的信息对于聊天室的其他顾客是不可见的。执行者:私聊顾客正常过程:客户端与服务端建立通讯。客户端将顾客发送的信息打包传送给服务端。服务端进行数据分析,查找被选中的顾客,并将信息传给选中的顾客。选中的顾客收到服务器的信息后,对的的显示。特殊需求:私聊得选中顾客,不能与自己进行私聊。3.2.4好友列表需求描述:登录的每一种顾客都显示在好友列表里。执行者:客户端正常过程:把登陆的顾客显示在好友列表里。服务器告知所有顾客新顾客上线了。客户端接受到消息,进行消息处理,并对的显示。3.2.5顾客退出需求描述:顾客在正常状况下退出聊天室。执行者:顾客正常过程:向服务器发送顾客退出消息。服务器进行顾客退出的数据处理。服务器向聊天室其他顾客发送顾客下线消息。刷新其他在线顾客的顾客列表信息。第4章概要设计4.1目的该阶段目的在于明确网络聊天室系统的数据构造和软件总体构造,各个软件模块的功能阐明,数据构造的细节,系统运行配置与应用方式以及使用的关键技术。4.2运行环境运行环境见下表。名称操作系统类型推荐操作系统版本推荐硬件(CPU/RAM/HD)数据库客户端Windows平台windows以上P41.7G/256M/服务器Windows平台windows以上P43.6G/8G/120表4.14.3体系构造概述本系统采用C/S的构造设计模式,客户端接受顾客的发送的信息到服务器,服务器通过处理转发到另某些客户端。客户端采用图形顾客界面,以便与顾客交互。服务器端用控制台的方式以便控制操作。客户端分为顾客登录、群聊、私聊、好友列表。顾客登录封装在顾客登录的界面中,群聊、私聊、顾客列表模块封装在聊天的主界面中。服务器端实现消息接受、消息转发等功能。4.4功能设计4.4.1顾客进到登入界面,填写登入顾客名实现顾客的登入顾客顾客进入登入界面输入顾客名提交进入聊天界面图4-1登录图4.4.2公聊顾客登入成功后进入聊天界面,通过输入聊天内容实现和其他的顾客聊天,文本编辑框文本编辑框输入聊天信息顾客聊天界面发送消息给所有顾客的群聊窗口 点击群聊按钮SHAPE图4-2群聊图4.4.3顾客通过选择在线顾客列表的其他顾客,实现和选中的顾客进行私聊方式进行交流,其他顾客不可见。选择选择其他顾客输入聊天信息发送信息文本编辑框顾客聊天界面 点击私聊按钮SHAPE图4-3私聊图4.4.4顾客登陆成功后,通过服务器处理后,告知所有在线的顾客有新顾客上线了并把新顾客显示在好友列表里。顾客顾客服务器发送告知消息显示在所有客户端的好友列表里图4-4好友列表图顾客退出在线的顾客点击退出按钮,向服务器发送祈求,服务器接受祈求并处理,并告知所有在线顾客该顾客退出了,在所有好友列表里移除该顾客,退出聊天页面。聊天界面聊天界面退出服务器接受祈求并处理发送有人下线消息退出聊天界面退出聊天界面图4-5顾客退出图第5章详细设计本系统采用C/S设计模式,系统分为客户端和服务器端,客户端包括登入模块,聊天模块。服务器端服务器启动实现模块。5.1登入功能描述在该登陆页面下,我把端口写死了,只需输入顾客名就可以直接登入聊天室主界面。登陆界面窗口如下:5.2群聊功能描述顾客在文本编辑区域输入信息,单击群聊按钮直接把信息发送到群聊显示的区域。并且按照发送来的信息中包括好的显示方式对的显示出信息。群聊界面窗口如图所示:5.3私聊功能描述顾客在文本编辑区域输入信息,选中要私聊的对象,单击私聊按钮直接把信息发送到该顾客私聊显示的区域。并且按照发送来的信息中包括好的显示方式对的显示出信息。私聊对象不能选择自己,假如选择自己,会弹出“不能和自己私聊”的提醒框,尚有不能不选择私聊对象,假如不选择的话,会弹出“请选择私聊对象”的提醒框。私聊界面窗口如图所示:5.4好友列表功能描述服务器端收到顾客上线或下线时发送给它的祈求,刷新好友列表。5.5顾客退出功能描述在聊天页面,单击关闭按钮,该顾客就退出了并告知其他在线顾客该顾客退出了。如图所示:5.6功能逻辑实现逻辑功能描述本系统采用数据对象流的形式发送和接受信息。客户端连接服务器成功后就启动一种客户端线程和服务器通信。客户端发送的信息分为:登入消息、群聊消息、私聊消息、顾客上下线消息提醒等。服务器端启动一种线程不停的监听客户的祈求,当接受到客户祈求时就启动一种和该客户端通信的线程。第6章系统测试为了保证本系统可以正常运行,需要在公布之后做一次较全面的测试。现将详细操作及过程举例阐明如下:6.1测试举例6.1.1测试程序登录界面打开程序后,首先出现的是登录页面,输入顾客名,点击登录按钮,。6.1.2测试程序主界面进入主界面后,主页面会显示群聊信息显示区、私聊信息显示区、文本编辑显示区、在线顾客列表区、功能按钮区。顾客可以在顾客列表中看到目前在线的其他顾客,并在群聊信息显示区内看到顾客上下线告知和群聊信息,私聊信息显示区内看到私聊的信息。顾客可以在文本编辑显示区内输入自己的发送内容,并可以通过单击顾客列表名中的顾客,进行私聊,发送的信息其他顾客不可以见。6.1.3测试程序退出当单击退出按钮或窗体的关闭时,顾客将发送退出信息,离开聊天室,其他顾客可以得到系统提醒顾客下线并刷新顾客列表。6.2测试项目由于实际开发过程中还是不可防止地会产生差错,系统中一般也许隐藏着错误和缺陷,不经周密测试的系统投入运行,将会导致难以想象的后果,因此系统测试是软件开发过程中为保证软件质量必须进行的工作。6.2.1单元测试单元测试也称模块测试或程序测试,单元测试是对每个模块单独进行的,验证模块接口与设计阐明书与否一致,对模块的所有重要处理途径进行测试且与预期的构造进行对照,还要对所有错误处理途径进行测试。对源码进行审查,对照设计阐明书,表态地检查源程序与否符合功能的逻辑规定,是进行单元测试前的重要工作工。单元测试一般是由程序员完毕,也称程序调试。6.2.2系统测试系统测试是对整体性能的测试,重要处理各子系统之间的数据通信和数据共享问题以及检测系统与否到达顾客的实际规定,系统测试的根据是系统分析汇报。系统测试应在系统的整个范围内进行,这种测试不只对软件进行,而是对构成系统的硬、软件一起进行。系统测试与建构同步进行或略慢。系统测试需要确认从头到尾的功能正常才算完毕,应当尽量防止系统测试延到项目末尾进行。结论首先,我选择本课题缘由是刚刚接触JAVA项目,重要也想试一试,更近一步的提高自己的能力。并且也可以对网络开发产生爱好,对具有网络功能的项目更有感觉。大学三年的学习期间,通过学校开设的基础课程,扎实系统的学习了软件的基础知识,,并对面向对象编程语言有了深入的理解,对软件专业逐渐的建立起自己的知识体系框架。通过这次的年论文,使自己在JAVA编程语言的使用方面得到一种全面锻炼自己的机会,在这个模块的界面开发方面,充足的学习和运用了JavaSwing界面开发技术,使自己在界面应用和布局方面得到更多的实践,应用Socket技术实现网络连接功能,对网络的实现和通信方面有了深入的理解,并通过多线程方面的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/TR 8101-10:2024 EN Fire safety on lifts - Part 10: Comparison of safety standards worldwide on lifts used by firefighters and for building evacuation
- 年度2024纺织品批量生产与销售合同3篇
- 正规草牧场承包合同范文3篇
- 农家乐生态旅游区开发合同(2024版)
- 铝灰处理设备采购与安装合同(2024版)
- 销售人员合同
- 初中班会 感恩 知识课件
- 《档案库房照明设备》课件
- 2024年度高校校园餐饮服务承包合同2篇
- 财务状况报告范文
- 采血后并发症及护理-课件
- 签订无固定期限劳动合同申请书
- 北京工商大学百事可乐市场营销分析
- 清华大学出版社机械制图习题集参考答案(课堂PPT)
- 清华大学机械原理课件-第8章-组合机构上课讲义
- 校园监控维护记录表
- 小学班级组织建设课件
- 劳动保障监察执法课件
- 小学文明礼仪教育中译六年级上册第九课民族礼仪 哈达
- 克拉2气田-爆炸事故案例解读课件
- 2020牛津译林版高中英语新教材选修第一册全册课文翻译及单词表
评论
0/150
提交评论