Java课设线上聊天室———团队博客
一、项目简介
Java网络聊天室实现私聊、群聊等功能,默认数据库和服务端都在本地实现。
二、基本要求
功能要求:
聊天室:使用图形用户界面和socket通信,能实现一个聊天室中多人聊天,可以两人私聊,可以发送文件。
实现类似QQ用户注册、登录、聊天等功能。
三、需求分析
程序设计的任务是实现网上聊天室。每个客户端能够输入账号密码,包括注册和登录功能,用户名或密码输入错误会弹出“用户名或密码输入不正确”的对话框。在用户名和密码输入正确后进入聊天界面,然后进行私聊,多人聊天,传输文件等操作。在添加操作里面可以上传和下载照片,这是File类型的。输入的其他学号、姓名、性别、电话都是String类型,输出的也是String类型。点击确认后会弹出“添加成功”。程序把要传输的内容封装成了两个类 Response 和 Request,客户端向服务器发起请求,服务器向客户端回应,通过两个类中包含的请求类型来判断需要进行的操作,传输采用ObjectStream。
四、概要设计
1.模块说明
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tDOp5zFJ-1655427881264)(C:\Users\86150\OneDrive\桌面\image-20220617021013855.png)]
2.项目采用技术
图形界面、IO编程、socket编程、多线程编程、异常处理、集合类的使用,网络通信,并行模式
3.功能需求分析
程序设计的任务是实现网上聊天室。每个客户端能够输入账号密码,包括注册和登录功能,用户名或密码输入错误会弹出“用户名或密码输入不正确”的对话框。在用户名和密码输入正确后进入聊天界面,然后进行私聊,多人聊天,传输文件等操作。在添加操作里面可以上传和下载照片,这是File类型的。输入的其他学号、姓名、性别、电话都是String类型,输出的也是String类型。点击确认后会弹出“添加成功”。但是程序把要传输的内容(String类)封装成了两个类 Response 和 Request,客户端向服务器发起请求,服务器向客户端回应,通过两个类中包含的请求类型来判断需要进行的操作,传输采用ObjectStream。
3.项目亮点 编程思路
1.客户端聊天窗口的创建
2.添加服务器与客户端的连接
3.连接上以后考虑将客户端的信息发送到服务器上
4.利用多线程实现连接多个客户端
5.多个客户端的信息发送到服务器上以后,考虑把服务器的信息发送到每个客户端
6.在服务器端要取到每个客户端的socket,才可以把信息发送到每个客户端上,利用集合类存储客户的多个线程的连接
7.在客户端考虑考虑利用多线程接收服务器上的信息
8.最后实现多人聊天室的效果
9.服务器能够群发系统消息,能够对用户私发消息,能够强行让某些用户下线。
- 客户端的上线下线要求能够在其他客户端上面实时刷新。
- 服务器能够查看在线用户和注册用户
4.系统演示操作视频或者主要功能截图
2022-06-16 23-39-23
5.团队成员负责模块(以表格的形式)
团队成员 | 负责模块 | 具体内容 |
---|---|---|
李家辉 | 客户端 | |
杨岩崎 | 工具类 | |
肖百灵 | 服务端 | (67条消息) 【无标题】Java网络聊天室—个人博客_大叔的仙女棒124的博客-CSDN博客 |
6.项目git地址
https://github.com/xiao-bailing/CommunicationOnline.git
7.团队成员git提交记录截图