基于Java即时聊天系统的设计与实现.docx
《基于Java即时聊天系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Java即时聊天系统的设计与实现.docx(80页珍藏版)》请在冰豆网上搜索。
![基于Java即时聊天系统的设计与实现.docx](https://file1.bdocx.com/fileroot1/2022-10/27/29db488a-8f08-4ffa-9b62-cbc93da20534/29db488a-8f08-4ffa-9b62-cbc93da205341.gif)
基于Java即时聊天系统的设计与实现
本科毕业设计(论文)
基于Java即时聊天系统的设计与实现
学号:
05
学生姓名:
何晶
指导教师:
范忠诚
所在学院:
计算机科学技术学院
所学专业:
计算机科学与技术专业
2016年6月
摘要
伴随着互联网的高速发展,产生了一系列与互联网相关的新鲜事物,即时聊天系统就是其中最具代表性的产物.即时聊天系统经过不断地发展,凭借其迅速、便捷、即时的特点,逐渐成为一种重要的信息交流工具,受到越来越多的网民的青睐。
即时聊天系统开发主要包括两个方面:
即时聊天系统服务器端设计、即时聊天系统客户端设计.即时聊天系统服务器端设计主要通过Socket套接字建立服务器,服务器能够读取和转发从客户端发来的信息,并且能够刷新用户列表。
即时聊天系统客户端设计主要通过与服务器建立连接,从而使服务器端与客户端的信息进行交流。
在这里,网络通信机制原理得到了运用,通过直接继承Thread类来建立多线程.同时,开发中利用了计算机网络编程的基本理论知识,如TCP/IP协议、客户端/服务器端模式(Client/Server模式)、网络编程的设计方法等。
在网络编程中利用流来实现信息的交换,从而读取和发送信息.即时聊天系统采用myeclipse为基本开发环境和java语言进行编写,通过不断修正和改进初始原型系统,直至此系统完全可行为止。
关键词:
即时聊天系统;套接字;Java
Abstract
Alongwiththehigh—speeddevelopmentofInternet,producedaseriesofnewthingsrelatedtotheInternet,instantmessagingsystemistheproductofoneofthemostrepresentative。
Instantmessagingsystemthroughconstantdevelopment,withitsfast,convenient,real—timecharacteristics,becominganimportantcommunicationtool,getthefavourofagrowingnumberofInternetusers。
Instantmessagingsystemdevelopmentmainlyincludestwoaspects:
instantmessagingsystemserverclient,instantmessagingsystemdesign.InstantmessagingsystemdesignmainlythroughtheSocketserverSocketserver,theservercanreadandforwardfromtheclient'sinformation,andbeabletorefreshtheuserlist。
Instantmessagingsystemdesignmainlybytheclientandtheserverconnectionisestablished,whichmakestheservertocommunicatewiththeclient’sinformation.Here,theprinciplehasbeenusingnetworkcommunicationmechanism,throughdirectinheritanceforbuildingamultithreadedThreadclass.Atthesametime,theuseofcomputernetworkprogramminginthedevelopmentofthebasictheoryofknowledge,suchasTCP/IPprotocol,Client/Servermode(Client/Servermode),networkprogrammingdesignmethod,etc。
Usingflowinnetworkprogrammingtoachievetheexchangeofinformation,soastoreadandsendinformation.InstantmessagingsystemusingmyeclipseasthebasicdevelopmentenvironmentandtheJavalanguagetowrite,byconstantlyrevisedandimprovedtheinitialprototypesystem,untilthesystemiscompletelyfeasible.
Keywords:
Instantmessagingsystem;socket;Java
第1章绪论
1。
1课题背景
人类社会在不断的发展,从原始社会发展到如今高度发达的文明社会,离不开人类的团结协作及创造力,而交流便是人类在发展过程中至关重要的一项技能。
在人类漫长的发展过程中,交流的方式也在不断更新变化。
从最早的交流方式--直接交流(语言、文字等),到后来利用介质的交流方式——间接交流(飞鸽传书、烽火狼烟等),再到近现代利用工业革命的成果,创造出了远程交流方式(电报、电话等).而到了上世纪末,随着计算机技术和网络技术的高速发展,诞生了一种新型交流方式——即时聊天系统。
即时聊天系统在沟通、协作方面有着其它交流方式无法比拟的优势,它凭借方便、快捷、实时等特点得到了越来越多人的青睐。
本课题研究的就是基于Java语言的即时聊天系统.即时聊天系统是为了满足各用户之间进行即时的信息交流而设计的一套系统,作为一种新型的通信和交流工具,即时聊天系统具有极其广泛的发展前景。
本系统的主要特性是能动态、实时的完成信息的传递,同时具有高效的交互性,更有效的处理客户请求,同时维护和更新也更加简易。
本文接下来会依次介绍即时聊天系统运行所需的环境及其工作流程和各个功能控件的工作原理,并且文中提供了部分程序源代码。
1.2国内外发展现状
1。
2.1国外发展现状
当今国际上对网络通信系统研究的较好的公司有:
思科,Sun,Ms等公司,思科主要研究的是底层的传输;MS,Sun公司研究的是应用层。
其中MS公司凭借其在操作系统的垄断地位,为了在网络的发展中取得先机,采用了各种各样的手段.但是,其捆绑的msn,无论从功能上,还是技术上来说,都不算是非常先进的。
这让人想起了当年的网景公司,网景只是生不逢时。
MS不择手段的想打跨网景,可见其对网络的重视。
如今,Sun公司在网络应用上捷足先登,凭借着Java,Sun在网络的应用上领先于MS。
微软,想用同样的办法搞跨对手,因此它拿出了Visualc#来对抗Java。
这些都是在应用层面的开发工具,应用层上的产品就更显种类繁多。
ICQ几乎是国际上通用的即时通信工具,由于在我国它的应用不是很广,所以其原理也很少被介绍.Msn,是MS的产品,同样在国内没什么市场,所以对其原理也很少被讨论过[1]。
1。
2.2国内发展现状
国内在应用层上的网络应用软件目前发展异常的火爆,因为我国有着网络应用的最大的市场。
现在国内网络的基础性建设发展迅速,应用软件也层出不穷。
不少厂商分别推出了自己的IM,如腾讯QQ、阿里旺旺、新浪UC、移动飞信等,这些都是我们所熟悉的PC端的即时通讯软件。
随着智能手机、平板电脑的普及,一些移动端的即时通信系统也如雨后春笋般涌现出来,如小米公司的米聊,腾讯公司的微信,还有年轻人之间很流行的陌陌、游戏玩家常用的YY语音等.这些软件本身功能也越来越丰富,远远超出了单纯的即时聊天系统的范畴。
现在的即时通信系统不仅仅是人们的沟通工具,还成为了人们利用其进行电子商务、工作、学习等交流的平台。
1。
3开发目的和意义
在当今社会,不管是个人用户还是企业用户,对沟通的需求总是在不断地发展。
传统的沟通交流方式如电话、传真、邮件等已经不能完全满足人们学习、工作、生活的需要.随着计算机软件、计算机网络和移动通信技术的发展融合,集方便、廉价、快捷、实时等优点于一身的即时聊天系统可以说是继电子邮件、万维网之后,互联网上最具有杀伤力的应用。
很难想象一台个人电脑没有安装像QQ这样的即时通讯软件。
虽然即时聊天系统设计的初衷是聊天,但正如前面所说,其功能已经超出了聊天的范畴,随着企业即时通讯工具(EIM)的出现,IM系统更是成了企业信息发布、资源共享、问题探讨和网络营销的一把利器.通过现有的技术,企业完全可以摒弃通用的免费的即时通讯系统,转而根据自己企业的需求定制开发自己专属的内部即时通讯系统,以实现更好的管理,提高员工的工作效率。
我们的生活中沟通无处不在,即时聊天系统这类广泛使用的基础软件的研究开发意义深远.
对于个人用户而言,能够实现好友即时通讯,传递实时信息,让用户随时随地都可与好友保持畅快有效的沟通. 对于企业用户而言,能够实现建立员工交流平台,统一信息发布平台,减少运营成本,促进企业办公效率. 商业即时通讯系统的功能越来越多样化,一些功能也很新颖,如现在流行的语音对讲功能。
本系统不比商业系统,没有考虑过多的复杂性,主要实现了基本的通讯功能,以满足学习研究之用。
1.4系统设计的思想
基于Java技术的聊天系统主要是探索如何在Java技术下能够实现即时聊天的一些基本功能:
用户注册,用户登录,查找其他用户,添加删除好友,添加个性签名,发布和接收系统消息,实现一对一聊天,能够发送表情等功能.
论文的设计主要采用了两种研究方法:
一是文献资料研究的方法。
在研究聊天系统现实中,本人通过图书馆、电子图书馆学习了Java语言中的一些编程技术;二是理论与实际相结合,既然掌握了技术与方法,那么就应该快速的进行实践,在软件的设计过程中,才能够理解到理论与现实的差距,遇到棘手问题,应该快速查阅资料快速攻破。
第2章方案论证
2。
1方案分析
经过认真的研究与分析,同时综合各种计算机高级语言的特征和适应范围,最终决定选择纯面向对象的Java语言来完成即时聊天系统的设计。
对于本系统的设计,可以采用C/S和B/S两种不同的模式。
在数据库方面,Hibernate和MyBatics都有着很强大的功能,而且Mysql和Oracle也有着不同的优缺点。
综上所述,可以得到以下两个方案。
方案一:
C/S模式+Hibernate+Oracle
C/S(Client/Server)结构,即大家熟知的客户机和服务器结构,其优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。
对应的优点就是客户端响应速度快。
而且Hibernate对数据库进行的是重量级的封装,对整个运行速度不会很慢。
而且Oracle体积很大一般在几个GB的安装包,运行时它的内存一般是几百兆,但是Oracle集成的功能非常强大。
方案二:
B/S模式+MyBatics+Mysql
B/S(Browser/Server)结构即浏览器和服务器结构,它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3—tier结构。
这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
MyBatics