您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 商业计划书 > java1055基于socket通信的聊天软件开发2
I摘要随着互联网的迅猛的发展,网络逐渐成了人们获取信息的主要途径。做为传统的信息交流工具e-mail,因为其发送和接受消息时间相对滞后的缘故,不能满足人们迅速获取信息的要求。即时通讯应运而生,为大众提供了一种崭新的综合的信息交流平台。即时通讯不同于传统的通讯工具e-mail,在于它的交流是实时的,使得人们交流更加便捷和快速,满足了人们迅速获取信息的需求,所以深受大众的喜爱,有着很好的发展前景。其中聊天软件就是即时通讯的具体实现。本系统是一款面向普通大众的网络聊天工具,该软件主要有一对一聊天,一对多聊天,信息保存等功能。系统是基于TCP/IP的网络协议,使用javasocket进行通信,用现在最流行的网络开发语言java实现,其界面简洁,便于用户使用的桌面程序。后台使用Oracle数据存储数据,在EclipseIDE下开发。本论文按照软件工程的思想,逐一论述系统实现过程。首先阐述系统的开发背景,说明聊天软件发现况和发展前景;其次介绍系统涉及到关键技术和开发工具;再次进行系统需求分析,主要是对用户需求要有清晰地认识,并从技术和经济等方面对系统做出可行性分析;最后是对系统进行设计和实现,将整个系统进行功能划分,对系统的各个功能模块和数据库两大方面进行设计,并且将重点说明重要功能模块的实现。关键词:及时通讯,聊天软件,TCP/IP,JAVASOCKETII目录第1章绪论······························································11.1研究背景·····················································································11.2研究现状····················································································21.3研究内容和目标···········································································2第2章开发工具与技术介绍··········································32.1Java简介····················································································32.1.1JavaSocket··········································································32.1.2Java多线程··········································································42.2EclipseIDE················································································42.3Oracle10g数据库········································································4第3章系统分析·························································53.1需求分析······················································································5第4章系统设计·························································64.1设计思想································································64.2系统功能结构图························································64.3模块功能设计··························································8第5章数据库设计·····················································105.1数据库需求设计·······················································105.2E-R图·································································105.3数据库逻辑设计························································12第6章系统实现························································156.1系统实现工具和支持平台··············································156.2系统界面······························································156.3系统主要功能实现·····················································206.4系统核心代码·························································23结论·········································································28参考文献···································································29III致谢·········································································30湖南工业大学本科毕业设计(论文)4第3章系统分析3.1需求分析随着互联网的发展迅猛,网络技术日新月异。人们也逐渐习惯通过上网来解决现实问题。根据用户的信息沟通需要,网络为人们提供了一种崭新的综合的交流平台,就是及时通讯软件。聊天软件是即时通讯软件的具体运用,网民利用聊天软件在网络上进行信息交流,较之传统的获取信息的工具e-mail来说,聊天软件具有实时快捷取得消息的优点,极大地满足了大众更快更好地获取信息的需求,深受人们的青睐,具有很好的发展前景。即时通讯软件是基于桌面的综合的通讯的平台,它集文字聊天,视频聊天,语音聊天,文件传输等等功能于一体,具有实时通讯的优点,所以能够深受网民的喜爱。现在的即时通讯功能逐渐强大,不仅能够解决普通人们上网聊天需求,而且它也逐渐被用于企业管理中。设计一款面向普通大众的聊天软件,应该具有聊天软件的一般功能。具体的功能应该包括如下几个:(1)注册登陆功能:新用户可以通过注册获得登录帐号,用户们只有通过了系统的登录功能验证通过后才能进入系统的聊天主界面。(2)显示功能:用户登录成功后进入到得系统主界面中应该显示用户本人的基本信息,比如姓名、帐号、图片等相关信息,同时要显示在线好友的基本信息,还有就是用户加入过的所有群信息。(3)好友管理:可以查找其他在线用户,并可以向他们发送加好友请求,删除和修改好友的信息。(4)群管理:可以查找群的信息,同时也能够选定加入某个群。(5)一对一聊天:用户既可以选定一个或多个在线好友聊天,这时他们聊天都是在一个个独立的窗口中进行的,也可以接收到其他在线好友的聊天请求。(6)一对多聊天:用户可以向所有同群成员发送消息,也可以接受到同群的所有成员的信息。湖南工业大学本科毕业设计(论文)5第4章系统设计4.1设计思想(1)系统分成两个主要的模块,客户端模块和服务器模块,但这些模块都进行集中式管理。(2)分层的模块化程序设计思想,整个系统采用模块化结构设计。作为应用程序有较强的可操作性和扩展性。(3)合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。(4)采用先进的管理系统开发方案,减少开发中的时间和财力、物力、提高系统开发的水平和应用效果。(5)系统应该满足聊天软件的一般需求,必须实现私聊和群聊的功能。4.2系统功能结构图图4.1聊天软件系统功能结构图聊天软件系统客户端模块服务器端模块湖南工业大学本科毕业设计(论文)6图4.2客户端模块功能结构图图4.3服务器端模块功能结构图服务器端模块用户登陆请求处理在线好友信息及群信息显示请求处理一对一聊天(私聊)请求处理一对多聊天(群聊)请求处理查找及添加好友请求处理查找及加入群请求处理创建群请求处理用户注册请求处理客户端模块用户登陆在线好友信息及群信息显示一对一聊天(私聊)一对多聊天模块(群聊)查找及添加好友查找及加入群创建群用户注册74然后把验证结果返回给客户端。如图6.1所示:图6.1用户登录界面(二)好友信息显示界面当用户登录成功后,系统会显示该界面。它是用来显示在线好友的信息的,主要信息包括好友的姓名,ID号,登录IP,登录端口号。系统会每20秒更新在线好友信息,当有好友登录时会及时显示到界面上。界面如图6.2所示:图6.2好友信息显示界面(三)群信息显示界面该界面是用来显示用户加过的所有的群,信息包括了群名,群ID,群管理员ID等信息。同好友显示界面一样,它也会没1分钟跟新一次,当用户新加入群的话会及时把新加入的群信息显示出来的。界面如图6.3所示:8图6.3群信息显示界面(四)好友查找及添加界面用户可以在该界面中查询的其他在线用户的信息,可以根据用户的帐号或昵称,查询用户信息,同时用户可以加其他用户为好友。界面如图6.4所示:图6.4好友查找及添加界面(五)群查找及加入群界面通过该界面,用户可以根据选择群ID或群名查找群信息并且可以加入群。当用户请求加入某群时,客户端会把该请求发送给服务器,服务器会把该信息发送给群管理9员。界面如图6.5所示:图6.5群查找及加入群界面(六)一对一聊天(私聊)界面当用户在好友信息显示区域双击某个好友的图片后,会弹出一个聊天窗口,用户可以向该好友发送消息,对方在接受到消息后也会弹出一个聊天窗口,这样双方就可以相互接受发送消息了。当某一方发送消息给另一方,另一方的窗口的标题栏信息会闪动,以此提醒用户有信息消息。以下贴出了聊天双方的界面,界面如图6.6,图6.7所示:该界面是聊天一方的界面:图6.6私聊界面该界面是聊天另一方的界面:10图6.7私聊界面(七)一对多聊天(群聊)界面用户双击群信息显示区域的某个群图标后,将会弹出一个群聊界面,该界面会显示当前在线成员信息,同时该界面会实时更新信息,如果有成员上线,将会在该区域显示出来。当某个成员在群里发消息,则服务器会把该信息发送给在线的每一个成员,同时也会接受到任何一个成员发送的消息。界面如图6.8所示:图6.8群聊界面(八)用户注册界面新用户可以申请一个帐号,通过注册界面把个人信息输入提交后,客户端程序会11把该信息发送到服务器端,服务器端接收到该注册请求后,会向数据库中的用户信息表中插入一条新纪录,当插入数据成功后,服务器会向客户端发送帐号和密码信息。界面如图所示6.9所示:图6.9用户注册界面重要提示:本论文由大学论文网毕业论文下载网:联系
本文标题:java1055基于socket通信的聊天软件开发2
链接地址:https://www.777doc.com/doc-2878538 .html