Java即时聊天系统的设计与实现.docx
- 文档编号:244120
- 上传时间:2022-10-07
- 格式:DOCX
- 页数:48
- 大小:517.81KB
Java即时聊天系统的设计与实现.docx
《Java即时聊天系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《Java即时聊天系统的设计与实现.docx(48页珍藏版)》请在冰豆网上搜索。
C/S架构的即时聊天系统的设计与实现
摘要:
随着信息时代的飞速发展,尤其是互联网技术的兴起,使人们愈来愈倾向于通过网络来交流、传递消息。
网络即时聊天系统正是这样一个被广泛应用的媒介。
借助它,人们可以方便地进行实时对话,文件传送等。
本文以一个“即时通讯系统”的设计和开发为背景,详细介绍了以Java语言和MySql数据库为平台开发软件系统的过程。
系统的实现是基于TCP/IP通信协议,使用的是客户端/服务器模式,用到了Java里面的Swing、多线程、JDBC、Socket等高级编程技术。
通过直接使用Java提供的
ServerSocket和ObjectInputStream等类将客户端和服务器端发送的各类消息封装成统一的数据流以实现消息的交换。
本系统的开发过程遵循了基本的软件工程学的方法,实现了即时通讯、群组聊天、文件传送等功能。
关键词:
Java;数据库;Socket编程;即时通讯系统;TCP/IP协议
TheInstantMessagingSystembasedonC/SStructure
Abstract:
Withtherapiddevelopmentoftheinformationage,especiallytheriseofinternettechnology,moreandmorepeopletendtocommunicateanddeliverthemessagesthroughtheinternet.Instantmessagingsystemissuchawidelyusedmedium.Withit,thereal-timedialogueandfiletransfercanbeeasilycarriedout.Takingthedesignanddevelopmentoftheinstantmessagingsystemasthebackground,thisarticledescribesindetailtheprocessofdevelopingsoftwaresystemswithJavaandMySql.TherealizationofthesystemisbasedontheTCP/IPcommunicationprotocol,andusesaclient/servermode.ManyadvancedjavatechnologiessuchasSwing,javamulti-threading,JDBC,socketprogrammingandsoonareused.BydirectlyusingtheServerSocket,ObjectInputStreamandotherclassessupportedinJavaAPI,messagessentedbytheclientandserversidearepackagedintoauifieddatastreaminordertoachievetheexchangeofmessages.Thewholedevelopmentprocessofthissystemfollowssoftwareengineeringmethods,andinstantmessaging,groupchatting,filetransferringandotherfunctionsarerealized.
Keywords:
Java;database;Socketprogramming;instantmessagingsystem;TCP/IPprotocol
目 录
第一章引言 1
1.1选题背景和意义 1
1.2本文的主要工作 2
第二章基于C/S架构的即时通讯系统概述 3
2.1系统的可行性分析 3
2.2系统的实现目标和基本功能 4
2.3系统开发环境和关键技术介绍 4
第三章基于C/S架构的即时通讯系统设计 8
3.1系统详细设计 8
3.1.1系统总体流程图 8
3.1.2系统总体功能模块划分 9
3.1.3系统用例图 10
3.1.4系统数据流图 12
3.2数据库设计 14
3.3系统关键类结构设计 19
第四章基于C/S架构的即时通讯系功能实现 24
4.1注册模块功能实现 24
4.2登录模块功能实现 26
4.3聊天模块功能实现 29
4.4文件传送模块功能实现 31
4.5后台管理模块功能实现 35
第五章总结 39
致谢 42
参考文献 43
本科毕业设计
第一章引言
1.1选题背景和意义
随着经济全球化的发展,世界各地的不同人、组织、机构之间的联系越来越密切。
同时伴随着互联网技术的普及和发展,网络即时通信工具已经作为一种廉价、方便的信息交流工具越来越受到人们的青睐。
在21世纪初的短短十几年间,即时通信系统(IM)的发展不断地取得了惊人的成就。
从早期只能互相发送字符并显示在双方的屏幕上的实时通信程序到现在的图形化、面向互联网、多功能的即时通信系统,科学技术的进步和整合不断地促使着即时通信系统功能越来越丰富,用处越来越广泛。
从最早的即时通讯软件ICQ诞生至今,市场上不断涌现出类似的产品。
不少厂商分别推出了自己的IM,如腾讯QQ、阿里旺旺、新浪UC、移动飞信等,这些都是我们所熟悉的PC端的即时通讯软件。
随着智能手机、平板电脑的普及,一些移动端的即时通信系统也如雨后春笋般涌现出来,如小米公司的米聊,腾讯公司的微信,还有年轻人之间很流行的陌陌、游戏玩家常用的YY语音等。
这些软件本身功能也越来越丰富,远远超出了单纯的即时聊天系统的范畴。
现在的即时通信系统不仅仅是人们的沟通工具,还成为了人们利用其进行电子商务、工作、学习等交流的平台[15][16]。
在当今社会,不管是个人用户还是企业用户,对沟通的需求总是在不断地发展。
传统的沟通交流方式如电话、传真、邮件等已经不能完全满足人们学习、工作、生活的需要。
随着计算机软件、计算机网络和移动通信技术的发展融合,集方便、廉价、快捷、实时等优点于一身的即时通讯系统可以说是继电子邮件、万维网之后,互联网上最具有杀伤力的应用。
很难想象一台个人电脑没有安装像QQ这样的即时通讯软件。
虽然即时聊天系统设计的初衷是聊天,但正如前面所说,其功能已经超出了聊天的范畴,随着企业即时通讯工具(EIM)的出现,IM系统
44
更是成了企业信息发布、资源共享、问题探讨和网络营销的一把利器。
通过现有的技术,企业完全可以摒弃通用的免费的即时通讯系统,转而根据自己企业的需求定制开发自己专属的内部即时通讯系统,以实现更好的管理,提高员工的工作效率。
我们的生活中沟通无处不在,即时聊天系统这类广泛使用的基础软件的研究开发意义深远[15]。
1.2本文的主要工作
本文围绕一个简单实用的即时聊天系统的开发,详细介绍了使用Java编程语言、Java
API和MySQL数据库构建一个软件系统的过程。
整个系统的分析、设计、开发、测试等过程遵循了软件工程学的方法。
论文分为如下几个部分:
第一部分,阐述了对即时聊天系统的分析。
包括系统的可行性分析、系统实现的目标和基本功能分析以及使用的一些关键技术分析。
第二部分,阐述了整个系统的设计过程。
包括系统总体设计、功能模块划分、数据库设计和关键类的设计。
第三部分,详细介绍了整个系统的实现。
针对每一个功能的具体实现展开介绍,包括使用到的开发技术、类库,第三方jar包等等。
第四部分,总结与展望。
针对系统的优点和不足对系统进行了总结与展望。
第二章基于C/S架构的即时通讯系统概述
2.1系统的可行性分析
进行可行性研究就是在行动以前,对要办的事进行调查,确认其可行与不可行,即:
可行则行,不可行则止。
可行性研究的目的不是解决问题,而是研究在当前的具体条件下,开发新系统是否具备必要的资源和其它条件。
为了达到这个目的,必须认真了解用户的要求及现实环境,探索若干种可供选择的解绝方案,并对每种解决方案的可行性进行仔细论证。
一般来说应从以下几个方面进行论证[12]:
〃技术可行性:
使用现有的技术能是否实现这个系统
〃经济可行性:
这个系统的经济效益是否超过它的开发成本
〃操作可行性:
系统的操作方式在这个用户组织内是否行得通
在对本系统的分析中,同样是从上面三个方面入手。
本系统的可行性分析包括以下几个方面的内容:
(1)技术可行性:
基于网络通信原理,利用Java提供的Swing、Socket等API和多线程编程、JDBC等技术可以开发出简单实用美观的即时聊天系统,因此技术上是可行的。
(2)经济可行性:
个人电脑和网络的普及使得我们不需要太多的经济投入。
在软件方面,可以采用免费的IDE如Eclipse和轻量级数据库MySQL。
无需太多的经济投入即可为局域网内的即时通讯系统的实现提供支持。
(3)操作可行性:
一方面可以让本地机同时作为客户端和服务器实现一台机器上的即
时通讯。
另一方面,只要一台以上计算机连接在同一个局域网内,并且在作为客户端机器的本系统中设臵需要连接的作为服务器端机器的IP地址,本系统就可以实现局域网通讯,所以操作上完全不存在问题。
如果要实现internet上通讯,理论上只需要将服务器端运行在一个有固定IP的公网上就可以。
综上所述,这种C/S架构的即时通讯系统的开发是可行的。
2.2系统的实现目标和基本功能
对于个人用户而言,能够实现好友即时通讯,传递实时信息,让用户随时随地都可与好友保持畅快有效的沟通。
对于企业用户而言,能够实现建立员工交流平台,统一信息发布平台,减少运营成本,促进企业办公效率。
商业即时通讯系统的功能越来越多样化,一些功能也很新颖,如现在流行的语音对讲功能。
本系统不比商业系统,没有考虑过多的复杂性,主要实现了基本的通讯功能,以满足学习研究之用。
其基本功能有用户注册、客户端登录、一对一实时聊天、群组聊天、传送文件、服务器后台管理。
2.3系统开发环境和关键技术介绍
(1)Java语言简介
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun
Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。
Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景[1][8]。
Java之所以被开发,是要达到以下五个目的[2]:
应当使用面向对象程序设计方法学
应当允许同一程序在不同的计算机平台执行应当包括内建的对计算机网络的支持
应当被设计成安全地执行远端代码
应当易于使用,并借鉴以前那些面向对象语言(如C++)的长处。
Java语言有着简单、面向对象、分布式、健壮、安全、可移植等特性,因此受到了众多程序开发人员的青睐。
(2)Eclipse
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 即时 聊天 系统 设计 实现