1.0 版本--大二上课设
功能介绍
该系统是基于Java 开发的聊天工具, 使用Socket实现简单的TCP编程, 使用多线程维护 连接服务端与客户端 的socket, 实现用户间通信; 使用hashMap集合管理线程, 实现了多用户群聊。模仿QQ界面,登录界面、聊天界面、注册界面、用户列表界面分别实现了客户端登录、聊天、注册、拉取用户等功能。
运用了网络编程技术、socket、多线程、集合、IO流、Swing、AWT 等
该系统实现功能:
1. 用户登录
2. 用户注册
3. 用户间私聊
4. 用户间群聊
5. 用户拉取在线用户列表
6. 用户发送文件(群发/私聊发送)
7. 服务端推送消息
8. 客户端无异常退出(包括 退出聊天窗口/退出主界面(用户列表))
模块介绍
![](https://i-blog.csdnimg.cn/blog_migrate/36d6ab7176a0d5c8d6092f0c8a5cb35f.png)
项目演示
用户登录
服务端未启动时, 无法登录 弹窗提示
输入正确用户名密码, 弹窗登陆成功,启动在线用户窗口, 服务端打印连接在面板上
![](https://i-blog.csdnimg.cn/blog_migrate/9217bead49cd26ef93493ffecb25af44.png)
用户注册
两次输入密码需相同, 密码位数需大于等于6 小于18
用户名注册成功, 弹窗注册成功, 服务端打印在面板上
![](https://i-blog.csdnimg.cn/blog_migrate/3e0fde652d6210d2a314bf0ea7ff52da.png)
拉取在线用户
点击 “拉取在线用户”, 面板打印在线用户列表
在下方框内输入聊天对象, 点击 “进入聊天”启动聊天窗口
![](https://i-blog.csdnimg.cn/blog_migrate/3a69cc0d865535d4b4e901e6ccfe1ebb.png)
聊天窗口
宋江 与 卢俊义 私聊发送消息
![](https://i-blog.csdnimg.cn/blog_migrate/8d241b99cf0358e898e313474d5ef955.png)
用户 卢俊义 群聊窗口
![](https://i-blog.csdnimg.cn/blog_migrate/de30389044a93c0d7d9283e783bd3ef6.png)
文件发送
私聊/群聊同理
用户 宋江 点击”选择文件” 按钮 弹出文件选择器
点击”发送文件” 按钮 发送文件
![](https://i-blog.csdnimg.cn/blog_migrate/148cc8eee5ae2f85844f21c42b87ca1b.png)
源码地址
GitHub点击跳转:
C-XCS/JavaChat: Java期末大作业-多用户即时聊天系统 网络聊天室 支持私聊/群聊/文件传输 GUI图形化编程 基于Socket (github.com)