没有合适的资源?快使用搜索试试~ 我知道了~
基于java的网络即时通讯系统的设计与实现论文.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 121 浏览量
2023-08-11
08:07:18
上传
评论
收藏 2.13MB DOC 举报
温馨提示
试读
59页
基于java的网络即时通讯系统的设计与实现论文.doc
资源推荐
资源详情
资源评论
目 录
1 绪论 ...........................................................1
1.1 即时通讯系统产生的背景 .......................................1
1.2 即时通讯系统的现状和发展 .....................................1
1.3 开发即时通讯系统的意义 ......................................2
2 相关技术 .......................................................2
2.1 JAVA 语言 ....................................................2
2.2 TCP/IP 协议 .................................................3
2.3 Socket 通信 .................................................3
3 系统需求分析 ...................................................4
3.1 项目设计的需求描述 ...........................................4
3.2 项目设计的系统用例图 .........................................5
3.3 user 注册活动图 ..............................................6
3.4 user 登录活动图 ..............................................6
3.5 user 好友添加时序图 ..........................................7
3.6 user 聊天时序图 ..............................................7
3.7 user 语音聊天时序图 ..........................................8
4 系统数据库设计 .................................................9
4.1 用户和客户端的关系 ..........................................9
4.2 用户和登录记录的关系 ........................................9
4.3 用户和聊天记录的关系 .......................................10
4.4 数据库中表格的设计 .........................................10
5 详细设计 .....................................................12
5.1 系统总体流程图 .............................................12
5.2 系统客户端流程图 ..........................................12
6 系统实现 .....................................................13
6.1 编写服务器端程序 ...........................................13
6.1.1 问题陈述 .................................................13
6.1.2 后台数据库设计 ...........................................13
6.1.3 用户注册 ..................................................14
6.1.4 用户登陆 ..................................................16
6.1.5 用户退出 ..................................................18
6.1.6 接收用户聊天信息 .........................................19
6.2 客户端程序编写 ..............................................21
6.2.1 用户注册 .................................................21
6.2.2 用户登录 .................................................22
6.3 聊天室实现 .................................................23
6.3.1 用户发送信息 .............................................24
6.3.2 保存聊天记录 .............................................25
6.3.3 显示系统时间 ..............................................26
6.3.4 屏蔽聊天信息 ..............................................28
6.3.5 退出聊天系统 .............................................29
6.3.6 出现异常信息 ..............................................31
7 结语 ..........................................................31
基于 JAVA 的网络即时通讯软件的设计和实现
郝金
南京信息工程大学计算机与软件学院,南京 210044
摘要:本论文用 Java 语言编写的一个聊天系统。该系统是基于 Java 平台,系统采用面向对象技术和面向对象的设计原
则。系统采用 C/S 结构,客户端和客户端、客户端和服务器端通过 Socket 发送消息。使用 Java 语言编写,使用 Eclipse 开
发工具。服务器端的设计和实施过程中,使用多线程技术,它可以在一个程序中同时运行多个不同的线程,执行不同的任务,
大大提高服务器资源的利用率。数据库管理系统用 SQL Server2005 完成并通过 JDBC-ODBC 桥访问数据库。聊天系统将完成
多人互相聊天、添加、删除好友、新用户注册、收发邮件、文件传输和语音视频聊天。
关键词:网络,即时通信,C/S,SQL2005;
1 绪论
1.1 即时通讯系统产生的背景
电子信息技术飞速发展,它融合了计算机、通信、信息和信号处理技术,使得信息飞速发展已成为一
种必然趋势。各种信息化系统已成为一个国家基础设施,电子商务、电子政务、电子金地、科学研究、通
信、交通和网络教育等十分重要的领域都因此而有了非常大的发展。因此,推进各领域高速发展的必要前
提是信息化建设的发展。为实现其投资效益的最大化,必须加快信息化建设的发展步伐,信息化工程的实
施必须立竿见影。所以为了将实施信息化工程的风险降至最低,我们需要一套或者多套稳定应用、功能贴
切、易学易用、快速实施的信息化解决方案,能确保其关键业务和关键管理需求的优先解决,并能提供足
够的扩展性来适应其不断增长的需要。但是传统业务的各个系统是独立设计的,支撑系统也是以满足生产
为目的,而如果还是完全按照传统的思路进行各个系统的信息化建设,那么即使系统建成,也会有较大发
展,但这种发展也只是各自单独的发展,并没有实信息化时代信息的快速传递和交换形成的互促发展的特
点。这显然不符合我们希望信息资源的集成共享从而加快高度的自动化、智能化的信息化建设的初衷。
所以,我们就需要变化视角,通过新的角度设计出新的技术发展方案.,重新构建信息化建设和相关产
业模式,才能达到实现便捷、多赢的目的。即时通讯系统应运而生。
1.2 即时通讯系统的现状和发展
即时通讯系统是基于 Internet 网络及其它有线、无线网络的一种非常流行的实时通信方式,是一种非
常便捷的网络通讯技术,它用互联网通过通信系统建立起网络虚拟环境,通过计算机键盘或无线设备在网
络上进行实时交换,成为一种提供公共通讯、商务通讯及商务合作的新媒介,也弥补了传统通讯形式的不
足,尤其是电子邮件及语音通信方面。随着即时通信普及,全球即时通信用户的数量也不断增长。
微软公司的 MSN、0ICQ 和雅虎公司的雅虎通,腾迅公司 QQ,网易公司的网易泡泡等通信系统都是
家喻户晓的。除了最基本的单纯的文本交流,即时通信业务增加了视频、音频交流等多种宽带应用元素,
如提供视频、语音通信服务、交流共享、短信收发、数据传输等服务项目。即时通信软件的第二次发展浪
潮来临----基于 PgP 技术的多媒体和基于 IP 技术的通信方。即时通信业务的承载设备也将趋向于多元化。
用户可以通过手机、个人计算机、PDA 等工具使用即时通信,宽带电话、网络电话业务也逐渐在即时通信
的软件上实现功能。
1.3 开发即时通讯系统的意义
即时通信系统的 3 大优势:
1 .功能的多样性。如提供视频、交流共享、语音通信服务、短信收发、数据传输等服务项目,同时也
注重了安全性、健壮性。
2 .通信的即时性和高效性。即时通信系统的速度快,不管接收方的计算机处理什么样的业务,发送的
消息都能很快的通知众多的用户,使通信更加即时有效。
3 .功能上较强的延伸性。例如,有些即时通信软件可以用无线接入设备实现无线即时通信、直接访问
公司的数据库、召集网上会议、多种语言的互译等等。
即时通信软件是应用软件的一个重要的分支,构造的成本低、实时性好、网上交流平台便捷的特点决
定了它的普及性,使其成为了在互联网上和他人联系的重要方式,可以加强信息沟通,推动政府机构、大
型事业单位信息化的建设!因此,开发及时通讯软件也就具有了重要的意义!
2 相关技术
2.1 JAVA 语言
Java 是一种简单、多线程、安全、容易适用、可移置、面向对象、高性能的语言。它具有如下特点:
1. 面向对象。面向对象技术一次革新,它可以提高模块化程度和重复适用率,缩短软件开发时间,减低
开发成本。
2. 安全性。Java 提供了许多安全机制,是能用在网路和分布环境下的程序设计语言。
3. 多线程。Java 具备内建的多线程功能,使各线程并发、独立执行,提高系统的运行效率。
4. 平台独立。平台独立是指程序不受操作平台限制,可以应用于各种平台。Java 源程序经过编译后能够
生成字节码文件,字节码和具体的计算机无关。计算机安装能解释执行字节码的 JVM,就能执行字节
码文件,实现了 Java 的平台独立性。
5. 执行效率。字节码要经过 JVM 解释成机器码才能执行,所以速度较慢。
2.2 TCP/IP 协议
TCP 协议是网络通信的基石。Java 专门提供了 Socket 的类库,抽象出 TCP 协议通信中的常用方法:
TCP 协议与三次握手:
(1)客户端,首先发送 TCP 请求,客户端是服务(如数据查询服务)的请求者。
(2)服务器,接收到客户端的请求后,服务器向客户端提供服务。服务器是服务的执行者,返回服
务执行的结果给向客户端。
首先客户端发送一个数据包 SYN。如果服务器收到 SYN,它会发回一个数据包 SYN+ACK。客户端为了表
示收到 SYN+ACK 信息,向服务器发送一个最终确认信息 ACK。SYN,SYN+ACK,ACK 步骤被称为 “三次握手”,
这样,连接就建立好了,并将一直保持活动状态,直到其中一方发出 FIN(结束)信号或者超时。这种通
信模式也被叫做客户端/服务器(C/S)模式。
如图 5-1 所示:
主机 A 主机 B
图 2-1 握手协议
2.3 Socket 通信
从概念上理解,Socket 是网络编程中最常见的客户/服务器模式,也是本系统的基础。以该模式编程
时,服务器端有一个进程或多个进程在指定的端口等待客户来连接,一旦连接成功,便按设计的数据交换
方法和格式进行数据传输。客户端向服务器端提出连接请求,连接之后进行通信。Socket 是一种用于表达
两台机器上都有一个 Socket,可以想象一条虚拟的电缆工作在两台机器之间,电缆插在两台机器的 Socket
上。简单的说,一台计算机上的 Socket 同另一台计算机通话创建一个通信信道,我们可以用这个信道在
两台机器之间发送数据。如图 5-2 Socket 实现原理图:
ACK=1
第一次握手,主机 A 向
主机 B 发送连接请求
第二次握手,主机 B 收到主机 A
的请求,向主机 A 回发一个确
认,,同时向主机 A 发送一个连接
请求
第三次握手,主机 A 收到
主机 B 发送的数据包在
向主机 B 发送一个确认
连接
SYN=1,SEQ=0
ACK=1,SYN=1,SEQ=1
aaaaaaaaaa
剩余58页未读,继续阅读
资源评论
豆包程序员
- 粉丝: 3532
- 资源: 3504
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功