mini通信项目

目录描述

      • 项目源码
      • 项目简介
      • 项目来源
      • 项目意义
      • 项目技术
      • 项目描述
      • 实现过程
        • 模型
        • 数据库
        • 注册和登陆
        • 私聊
        • 群聊
      • 效果展示
      • 测试
        • 需求分析
        • 测试计划
        • 测试用例

项目源码

minin通信项目

项目简介

模拟轻聊版 QQ,实现局域网下多用户之间的通信,实现用户注册、登陆以及用户间 的私聊和群聊服务

项目来源

想要实现一个属于自己的聊天工具,虽然现在只是实现了一小步,相信在自己的不断完善下会越来越好。

项目意义

  • 对JavaSE基础知识,多线程,JDBC和数据库的练习
  • 满足自己的小兴趣

项目技术

  • JavaSE
  • Java多线程、线程池
  • JDBC编程
  • MySQL数据库
  • Socket编程

项目描述

  • 项目按照功能进行进行实施
  • 使用JDBC编程实现对数据库的操作
  • 使用 IDEA 中的 GUI 功能编写界面,实现界面
  • 通过 Socket 编程实现客户端和服务器连接,使用 IO 技术实现数据传输
  • 使用多线程技术实现多个客户端并发通信

实现过程

mini通信项目_第1张图片

模型

  • 定义服务器和客户端传递信息载体类:(type、content、to)
  • 准备数据源配置文件、端口号和IP配置文件
  • 准备json字符串和object对象之间的相互转换方法
  • 用户基本信息类(id、username、password、brief)

数据库

  • 使用JDBC进行Java和数据库之间的交互
  • 使用DruidDataSource(数据源)对象获取数据库连接
  • 用户信息 --> 数据库中的记录
  • 登陆用户和数据库中记录信息匹配

注册和登陆

  • 使用IDEA的GUI功能编写登陆界面和注册界面
  • 将用户注册信息存入数据库
  • 用户登陆信息和数据库记录进行匹配
  • 使用多线程+Socket编程建立当前用户和服务器之间的连接
  • 将当前所有在线用户存储到服务器端

私聊

  • 使用IDEA的GUI功能编写用户界面和私聊界面
  • 使用点击事件方法触发当前用户和指定用户之间私聊事件
  • 使用IO技术进行数据传输

群聊

  • 使用IDEA的GUI功能编写创建群聊和群聊界面
  • 使用Btn键触发创建群聊,使用JcheckBox展示当前所有可选成员,使用isSelect()判断选中的群成员
  • 使用IO技术进行数据传输

效果展示

注册:
mini通信项目_第2张图片
登陆:
mini通信项目_第3张图片
用户界面:
mini通信项目_第4张图片
私聊界面
mini通信项目_第5张图片
创建群聊:
mini通信项目_第6张图片
群聊界面
mini通信项目_第7张图片

测试

  • 机器信息
    处理器:Intel(R ) Core™ i5-7200U CPU @ 2.50GHZ
    内存(RAM):8.00GB(7.90GB可用)
    固态硬盘:SSD
  • 软件信息
    H2嵌入式文件存储,版本1.4.197

需求分析

项目需要实现以下功能

  • 界面展示以及在界面操作
  • 用户注册
  • 用户登陆校验
  • 用户界面显示当前在线用户以及加入的群聊
  • 指定用户进行私聊
  • 创建多人群组并进行群聊天

测试计划

  • 首先在开发过程中伴随着简单的单元测试和集成测试
  • 接着按照需求分析进行功能测试
  • 最后进行数据传输的性能测试
  • 待测:高并发的负载测试和压力测试

测试用例

mini通信项目_第8张图片
对比数据得出结论:

  • 客户端的并发数对通信效率有影响
  • 群聊成员数对通讯效率有影响
  • 客户端的并发数对通讯效率影响不大

你可能感兴趣的:(项目)