毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
java仿QQ局域网聊天软件设计(5)
4)发送表情
客户端A点表情按钮,将出现系统默认表情,选中要发送的表情,表情将在信息框上显示。发送的时候系统自动把表情id编码传给服务器。服务器转发数据,客户端显示的时候根据id取出本地目录下的表情文件现显示在信息框中。
5)发送文件
客户端A点击发送文件按键,从本地选择文件,将与客户端B的一个socket连接,将文件在byte[]数组中的数据通过流传给客户端A。从而实现文件传送。
4.系统设计
4.1设计原则
设计软件不可不考虑到系统重用性很伸缩性,本系统将系统的网络底层,数据传输和界面UI分离开,这样就可以提高系统的伸缩和重用性
本系统最底层是Socket通信层,将负责客户端和服务器之间快速的数据交换,它通过API调用和最上面应用层保持实时数据联系。用户从客户端进入到本系统前,将实现统一的用户登录验证机制。Socket底层设计分两大部分:协议设计和连接处理设计:协议是通过自己定义相关的接口函数,和编码格式定义的。连接处理设计是通过多线程控制。接口层的目的是提供底层和应用蹭一个中介媒体的作用,但是不能设计得太复杂,以免延误数据传送时间。
4.2 工作流程
只有充分地了解了聊天程序的工作流程,才能对整个系统的理解更加深刻,聊天程序的工作流程如图4-2所示。
图4-2聊天程序的工作流程
4.3 数据库设计
这一设计阶段是在需求分析的基础上进行的,目的是设计出能够满足用户需求的各种实体以及它们之间的关系,为逻辑结构设计打下基础。
本系统涉及的数据表
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(45) NOT NULL,
`password` varchar(45) NOT NULL,
`state` int(11) NOT NULL DEFAULT '1',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
CREATE TABLE `relation` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`userid` int(11) NOT NULL,
`relative` int(11) NOT NULL,
`friendids` varchar(45) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
4.4 系统模块设计
4.4.1 聊天系统工作原理图
图 4-2 系统工作原理
4.4.2 系统功能模块图:
图 4-3 系统模块
4.4.3 系统用例图:
普通用户的用例图:
图 4-4 普通用户用例图
4.4.4 活动图:
1)用户登陆活动图
首先填写登陆信息,提交以后服务器会对用户名和密码进行验证。如果不正确,返回一个提示信息。如果登陆成功,就更新在线状态。
图 4-4-4用户登录活动图
2)发送消息活动图
消息发送以后,服务器端对应的监听线程会接收到一个数据包。此包中包含接收者的信息,如果接收者在线,数据包将会转发到接收者。如果不在线,就回复客户端显示用户不在线
图 4-4-4发送消息活动图
4.5 系统类设计
4.5.1 服务端线程的设计:
服务器端的核心是对应客户的线程,每个socket对应一个线程,也就是每一个客户端都在服务器端有一个相应的线程。它负责转发客户端发来的消息。服务类为Service。内有各类服务的方法,实现服务端的各种服务,
属性名 作用
public void newUserEnter() 有新用户进入
public void userLeave()
共6页:
上一页
1
2
3
4
5
6
下一页
上一篇:
基于安卓系统的语音识别软件开发
下一篇:
jsp+mysql餐饮主题网站的设计与实现
java+mysql通用试题库系统后台设计与实现
控制器局域网(CAN)技术茬工...
回路硬件仿真技术茬直升...
局域网的信息安全与病毒防治策略【4377字】
局域网图书资料查询系统【4032字】
下一代网络中的PSTNISDN仿真系统【1932字】
定性仿真综述【2157字】
医院财务风险因素分析及管理措施【2367字】
公寓空调设计任务书
中国学术生态细节考察《...
C#学校科研管理系统的设计
10万元能开儿童乐园吗,我...
国内外图像分割技术研究现状
承德市事业单位档案管理...
志愿者活动的调查问卷表
神经外科重症监护病房患...
AT89C52单片机的超声波测距...