菜单
  

    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()
  1. 上一篇:基于安卓系统的语音识别软件开发
  2. 下一篇:jsp+mysql餐饮主题网站的设计与实现
  1. JAVA基于安卓平台的医疗护工管理系统设计

  2. java+mysql设备监控记录的大...

  3. java+mysql酒店管理系统设计与实现

  4. java+mysql二手房网站的设计与实现

  5. java+mysql家居团购网站的设计与实现

  6. JAVA+MYSQL《算法与数据结构...

  7. 基于MOOCs的《Java程学设计...

  8. 中考体育项目与体育教学合理结合的研究

  9. 当代大学生慈善意识研究+文献综述

  10. 杂拟谷盗体内共生菌沃尔...

  11. 大众媒体对公共政策制定的影响

  12. 酸性水汽提装置总汽提塔设计+CAD图纸

  13. 乳业同业并购式全产业链...

  14. 河岸冲刷和泥沙淤积的监测国内外研究现状

  15. 十二层带中心支撑钢结构...

  16. java+mysql车辆管理系统的设计+源代码

  17. 电站锅炉暖风器设计任务书

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回