多用户即时通信系统

1 为什么选择这个项目

(1)有趣
(2)设计到Java各个方面的技术

  • 项目框架设计
  • Java面向对象编程
  • 网络编程
  • 多线程
  • IO流
  • MySQL

(3)巩固旧知识,学习新知识

2 项目开发流程

在这里插入图片描述

2.1 需求分析

(1)用户登录
(2)拉取在线用户列表
(3)无异常退出(客户端、服务端)
(4)私聊
(5)群聊
(6)发文件
(7)服务器推送新闻

2.2 界面设计

2.2.1 用户登录

在这里插入图片描述

2.2.2 拉取在线用户列表

在这里插入图片描述

2.2.3 私聊

在这里插入图片描述

2.2.4 群聊

在这里插入图片描述

2.2.5 发文件

在这里插入图片描述

2.2.6 文件服务器推送新闻

在这里插入图片描述

3 功能实现

3.1 用户登录

3.1.1 功能说明

因为还没有学习数据库,我们人为规定 用户名/id = 100,密码123456 就可以登录,其他用户不能登录
后面使用HashMap模拟数据库,就可以实现多个用户登录
在这里插入图片描述

3.1.2 思路分析 + 程序框架图

在这里插入图片描述

3.1.2 代码实现

3.2 拉取在线用户列表

3.2.1 功能说明

在这里插入图片描述

3.2.2 思路分析 + 代码实现

在这里插入图片描述

3.3 无异常退出

3.3.1 功能说明

实现客户端和服务端无异常地正常退出

3.3.2 思路分析 + 代码实现

在这里插入图片描述

3.4 私聊

3.4.1 功能说明

在这里插入图片描述

3.4.2 思路分析 + 代码实现

在这里插入图片描述

3.5 群聊

3.5.1 功能说明

在这里插入图片描述

3.5.2 思路分析 + 代码实现

在这里插入图片描述

3.6 发文件

3.6.1 功能说明

在这里插入图片描述

3.6.2 思路分析 + 代码实现

在这里插入图片描述

3.7 服务器推送新闻

3.7.1 功能说明

在这里插入图片描述

3.7.2 思路分析 + 代码实现

在这里插入图片描述

3.8 发送离线消息/文件

3.8.1 功能说明

(1)实现离线留言,如果某个用户没有在线,当登录成功后,可以接受离线的消息
(2)实现离线发文件,如果某个用户没有在线,当登录后,可以接受离线的文件

3.8.2 思路分析 + 代码实现

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_60766221/article/details/122267416