mini通信项目

项目源码

minin通信项目

项目简介

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

项目来源

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

项目意义

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

项目技术

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

项目描述

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

实现过程

在这里插入图片描述

模型
  • 定义服务器和客户端传递信息载体类:(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技术进行数据传输

效果展示

注册:
在这里插入图片描述
登陆:
在这里插入图片描述
用户界面:
在这里插入图片描述
私聊界面
在这里插入图片描述
创建群聊:
在这里插入图片描述
群聊界面
在这里插入图片描述

测试

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

项目需要实现以下功能

  • 界面展示以及在界面操作
  • 用户注册
  • 用户登陆校验
  • 用户界面显示当前在线用户以及加入的群聊
  • 指定用户进行私聊
  • 创建多人群组并进行群聊天
测试计划
  • 首先在开发过程中伴随着简单的单元测试和集成测试
  • 接着按照需求分析进行功能测试
  • 最后进行数据传输的性能测试
  • 待测:高并发的负载测试和压力测试
测试用例

在这里插入图片描述
对比数据得出结论:

  • 客户端的并发数对通信效率有影响
  • 群聊成员数对通讯效率有影响
  • 客户端的并发数对通讯效率影响不大
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值