没有合适的资源?快使用搜索试试~ 我知道了~
一个简单的即时通讯工具的设计与开发
需积分: 19 1 下载量 60 浏览量
2023-03-06
19:37:11
上传
评论
收藏 619KB DOCX 举报
温馨提示
试读
36页
1.引言 1.1 项目开发背景 1.1.1 项目背景 1.1.2 技术背景 1.2 该系统设计的意义 2.相关理论及基础技术与开发平台 2.1 即时通讯应用工作原理分析 2.2所用技术 2.3工具及开发平台 2.4 系统配置要求 3系统体系结构的设计 3.1 需求描述 3.2系统架构设计 3.3 系统的总体功能设计 3.3.1总体功能设计 3.3.2注册模块设计 3.3.3 登录模块设计 3.3.4用户间交互模块设计 3.4数据库设计 3.4.1数据库物理模型 3.4.2数据字典 4系统实现 4.1网络通讯编码实现 4.1.1聊天客户端部分代码 4.1.2服务器端监听与转发消息代码 4.1.3服务端单线程上线处理代码 4.2 系统运行的效果图 4.2.1 登录界面 4.2.2 主界面 4.2.3 群聊天界面 4.2.4 好友聊天界面 4.2.5 好友查找界面 4.3注册模块的实现 4.3.1 数据库连接
资源推荐
资源详情
资源评论
1
一个简单的即时通讯工具的设计与开发
摘要:即时通讯(Instant Messaging)是目前 Internet 上最为流行的通讯
方式,各种各样的即时通讯软件也层出不穷;服务提供商也提供了越来越丰富的
通讯服务功能。Java 是当前比较流行的开发语言之一,它有着自己的易用特点
与性能优势,比如跨平台、安全性、多线程、网络 Socket 编程、数据流概念等
方面,因此通过对开源即时通讯 LinuxQQ 的研究和分析,基于 Java 语言和 J2EE
规范设计了一个即时通讯工具 JICQ (Java for I seek you),并对其体系结构、构
成模块及系统关键技术进行了分析与设计。在系统设计与建模过程中,使用了
UML 和面向对象的分析、设计方法,并使用 Rose 作为建模工具;本系统基于
j2se1.5,j2ee1.4,使用 Eclipse 等作为开发工具,在开发过程中用到了时下流
行的重构开发方法,优化了系统的设计。力图使系统具有安全、高效、实用、支
持在不同系统平台运行等特点。
关键词:即时通讯;多线程;SOCKET 编程;JSP
2
Design and Development of a Simple Instant
Communication Tool
Abstract
Instant Message is currently the most popular way to communicate on the
Internet,so various Instant Messaging software are continuously appearing; Service
providers offer more and more communication service nowadays. Java programming
language (Java 2 Standard Edition) is one of popular programming languages. With
its features of cross-platform, security, multi-threaded capability, Socket
Programming, data flow concepts and so on, Java has its own distinctive and
functional advantages. Therefore, based on the research and analysis of LinuxQQ,
with the Java language and J2EE, this paper designs an instant messenger—JICQ
(Java for I seek you), and then analyzes its architecture, modules, as well as its key
technologies. During the design and modeling process of instant messenger system,
the UML and method of object-oriented analysis and design are used. Furthermore,
the modeling tool of Rose is included. Based on the system j2se1.5, j2ee1.4, the
Eclipse development tool in the development process, and refactoring development
method, the system design is optimized. Due to these factors, the system is safe,
efficient and practical in different operating system platforms.
Key words: instant message; multithreaded; socket program; JSP
3
目 录
1.引言.................................................................................................................................................5
1.1 项目开发背景 ....................................................................................................................5
1.1.1 项目背景................................................................................................................5
1.1.2 技术背景................................................................................................................5
1.2 该系统设计的意义 ............................................................................................................6
2.相关理论及基础技术与开发平台.................................................................................................7
2.1 即时通讯应用工作原理分析 ............................................................................................7
2.2 所用技术.............................................................................................................................8
2.3 工具及开发平台.................................................................................................................9
2.4 系统配置要求 ..................................................................................................................10
3 系统体系结构的设计...................................................................................................................11
3.1 需求描述 ..........................................................................................................................11
3.2 系统架构设计...................................................................................................................11
3.3 系统的总体功能设计 ......................................................................................................13
3.3.1 总体功能设计.......................................................................................................13
3.3.2 注册模块设计.......................................................................................................13
3.3.3 登录模块设计......................................................................................................15
3.3.4 用户间交互模块设计...........................................................................................17
3.4 数据库设计.......................................................................................................................19
3.4.1 数据库物理模型...................................................................................................19
3.4.2 数据字典...............................................................................................................20
4 系统实现.......................................................................................................................................22
4.1 网络通讯编码实现...........................................................................................................22
4.1.1 聊天客户端部分代码...........................................................................................22
4.1.2 服务器端监听与转发消息代码...........................................................................23
4.1.3 服务端单线程上线处理代码...............................................................................24
4.2 系统运行的效果图 ..........................................................................................................25
4.2.1 登录界面..............................................................................................................25
4.2.2 主界面..................................................................................................................26
4.2.3 群聊天界面..........................................................................................................27
4.2.4 好友聊天界面......................................................................................................27
4.2.5 好友查找界面......................................................................................................28
4.3 注册模块的实现...............................................................................................................29
4
4.3.1 数据库连接..........................................................................................................29
4.3.2 字符编码过滤器的核心代码..............................................................................29
4.4 注册模块运行效果图 ......................................................................................................30
4.4.1 主页面..................................................................................................................30
4.4.2 注册页面..............................................................................................................30
5 系统测试与运行..........................................................................................................................32
结 论..........................................................................................................................................34
参考文献..........................................................................................................................................35
致 谢..........................................................................................................................................36
5
1.引言
1.1 项目开发背景
1.1.1 项目背景
“即时通信产品”最早的创始人是三个以色列青年,是他们在 1996 年做出
来的,取名叫 ICQ( I seek you)。随后,腾迅 QQ 抓住 IM 的大好机遇,在中国迅
速崛起并垄断即时通讯市场。自从腾迅的 QQ 在中国即时通讯行业垄断后,即时
通讯的产品在 IT 行业可谓雨后春笋,层出不穷,目前,Windows 平台方面的即
时通讯已经很多,但是其他系统比如 Linux 平台,虽然有类似 QQ 方面的一些产
品,比如 LinuxQQ,Lunaqq,但数量毕竟不多且功能界面等都还不是很理想,鉴
于此种情况,我们开发了基于 Java 语言的即时通信系统(JICQ),该系统是以
J2SE(Java 2 Standard Edition)语言实现的网络即时通信工具,包括服务器端和
客户端,可以在企业内部网络和互联网上运行,同时具有 Java应用的跨平台特性,
方便运行在各个系统之上。该系统具有相对比较漂亮的界面以及类似于 QQ 的很
多功能,比如可以和好友进行交流以及离线发送与好友管理、可以加入不同的群,
即时发送、即时回复等功能。
1.1.2 技术背景
技术上采用 sun 公司的 java 语言,该语言有很多有点,比如多线程、网络
流概念、异常捕获处理、安全性以及速度与性能等方面,并且具有可以一次编写、
到处运行的跨平台优点。
多线程:多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个
指令流都称为一个线程,彼此间互相独立,线程又称为轻量级进程,多线程技术
允许你在一个应用程序中启动多个执行轻量程序,使多段程序同时竞争 CPU资源,
从而提高系统效率。而对于网络通讯工具来说,多线程的特性是必须的,不仅是
为了效率,而且可以实现同时处理多个请求。
网络流:java 中的网络通讯以及文件的读取都是以一种流的概念来理解的,
这样,网络上数据的传输其实就等同于看成一台机器上文件的读取,有利于理解
与编写运用程序,java 类库中提供了丰富的 IO 流类资源以及网络编程类资源,
软件开发人员可以很方便的编写网络应用程序。
例外处理:Java 通过面向对象的方法来处理例外。在一个方法的运行过程
中,如果发生了例外,则这个方法生成代表该例外的一个对象,并把它交给运行
时系统,运行时系统寻找相应的代码来处理这一例外。我们把生成例外对象并把
它提交给运行时系统的过程称为抛弃(throw)一个例外。运行时系统在方法的调
剩余35页未读,继续阅读
资源评论
祈山鹤白..
- 粉丝: 1
- 资源: 68
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功