JICQ设计文档演示课件_第1页
JICQ设计文档演示课件_第2页
JICQ设计文档演示课件_第3页
JICQ设计文档演示课件_第4页
JICQ设计文档演示课件_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

作者:导师:Java即时通信工具(JICQ)1

简介

Java即时通信系统(JICQ)是以Java语言为实现的网络即时通信工具,包括服务器端和客户端,可以在企业内部网络和互联网上运行。使用JICQ可以和好友进行交流,信息即时发送,即时回复,传输文件等功能。本系统充分利用了Java语言的平台无关性等众多优点,主要采用了Socket网络编程接口、多线程、输入输出流、Swing界面编程技术,为我们构建一个跨平台的真正畅通的网络信息交换工具。2

性能需求

客户端(JICQ)与服务器端、客户端与客户端能够顺利进行短信收发功能,短信内容不能超过200字符,短信发送延迟时间小于6秒,否则消息发送失败,并向用户返回失败原因。服务器端需要同时响应最低500个用户的访问量。3 JICQ系统部署图Java即时通信系统的服务器端包括JICQ服务器程序(其监听9000端口)和数据库服务器(本系统采用MSSQLServer2000);客户端为JICQ即时通信工具软件。

5

JICQ基本功能特点

1.客户端(JICQ)向服务器的新用户注册功能。2.客户端(JICQ)与服务器端之间的通信功能。3.客户端(JICQ)之间的短信发送功能。4.客户端(JICQ)之间的文件传输功能。5.网友分组的管理:好友组、陌生人组、黑名单组6.添加/删除好友。7.服务器端存储JICQ用户表、好友列表、离线消息。 在客户端存储好友资料和聊天记录。

6JICQ用例图7JICQ用户登陆活动图9客户机(JICQ)之间的通信活动图10客户机(JICQ)之间的文件传送11删除好友活动图13JICQ数据库物理模型图14JICQ数据库结构设计Java即时通信系统的数据库服务器为MSSQLServer2000,数据库名称为JavaICQ,其中主要包括数据表Users、Friends、OfflineMsg。表名用途描述Users系统的用户表存储用户的基本信息,保护信息,在线状态,以及在线时的IP地址,端口号等信息。Friends用户的好友表存储用户号码,好友号码,以及好友类型等信息。OfflineMsg离线消息表存储用户的离线消息,在用户上线时返回并消除。15JICQ系统类包Message包为JICQ系统的消息类包,其中包含有JICQ系统定义的短消息类型,为服务器与客户端所共用;Server包为系统的服务器端程序类包,运行在服务器端机器;Client包为系统的客户端程序类包,运行在客户端机器。

17消息类消息类为即时通信系统中,客户端与服务器端、客户端与客户端的通信基础类。Message为消息类的基类,OrdinaryMsg、RegisterMsg、FinderSetMsg、FinderMsg、LoginedMsg、InformLogonMsg为它的派生类。Message消息基类,包含有所有消息的类型,以及基本属性。RegisterMsg为注册消息类,包含有所有注册属性。OridnaryMsg为普通的消息类,主要用于聊天、登陆、注销等消息。FinderMsg为搜索请求消息类,包含有搜索类型,请求内容。UserBasicInfor类型的网友数组。

LoginedMsg为返回的登陆消息类,其中包含有在线好友的列表。InformLogonMsg为通知在线好友的消息类,其中主要包含有当前用户的IP地址与端口。18客户端JICQ线程控制客户端JICQ主要由监听线程、消息处理线程控制。首先由监听线程监听消息,当有消息来到时,启动消息处理线程处理消息,最后由消息线程将消息通知用户边界对象。另外,客户端还有一个能与服务器保持联络的线程,每两分钟向服务器通知一次,表明该客户端仍然在线。

19服务器对客户端JICQ的响应逻辑1.对用户注册功能响应;2.对用户登陆的响应;3.对用户注销的响应;4.对用户搜索的响应;5.对添加好友的响应

;6.对删除好友的响应:21客户端JICQ程序界面设计

JICQ系统登录对话框

22注册向导――申请JICQ号码

23注册向导――网络设置

25注册向导――注册成功

26查找向导网友结果对话框

29客户端JICQ主面板

30发送消息对话框

31客户端JICQ滑动按钮组工作原理主要使用了Swing界面类中的JPanel组件,Timer组件,自定义的ImageButton组件。每当用户单击按钮时,激发Timer事件,每20毫秒展开或者缩小这三个JPanel组件,重新计算按钮位置,以便于产生动画效果。自定义的ImageButton组件实现的接收短消息事件,每当有短消息来到时,ImageButton就会发生相应的动作,比如闪烁或者跳跃并发出声音。32客户端JICQ消息事件源与监听器原理

事件源是从监听端口接收到消息的线程,由事件源来注册监听器,发送自定义的消息事件对象,监听器为实现消息监听接口的一组头像组件。当消息事件发生时,事件源把短消息事件对象发送给头像按钮组件,头像按钮组件就会调用消息处理方法,完成象闪烁,跳跃,发出声音等反应。

33服务器端JICQ线程池原理多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。但如果对多线程应用不当,会增加对单个任务的处理时间。假设在一台服务器完成一项任务的时间为TT1创建线程的时间

T2在线程中执行任务的时间,包括线程间同步所需时间

T3线程销毁的时间T=T1+T2+T3线程池技术正是关注如何缩短或调整T1,T3时间的技术,从而提高服务器程序性能的。它把T1,T3分别安排在服务器程序的启动和结束的时间段或者一些空闲的时间段,这样在服务器程序处理客户请求时,不会有T1,T3的开销了。一般一个简单线程池至少包含下列组成部分。线程池管理器(ThreadPoolManager):用于创建并管理线程池工作线程(WorkThread):线程池中线程任务接口(Task):每个任务必须实现的接口,以供工作线程调度任务的执行。任务队列:用于存放没有处理的任务。提供一种缓冲机制。34总结与展望经过一段时间的学习和工作,JICQ即时通信工具已经初具雏形,实现了网络即时通信工具的主要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论