# JavaChat **Repository Path**: Qianrenni/java-chat ## Basic Information - **Project Name**: JavaChat - **Description**: Java聊天室,模仿QQ的UI界面,带有数据库脚本文件 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-10 - **Last Updated**: 2025-04-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java ## README # Java聊天室 ## 项目简介 这是一个基于TCP协议的多人聊天室应用,支持好友私聊、群组群聊、用户注册与登录、密码修改、用户名修改等功能。此外,还提供了动态提醒和离线消息保存功能,确保用户不会错过任何重要信息。后端数据库采用MySQL进行数据存储。 --- ## 效果展示 ### 服务器 ![服务器](/static/image/img.png) ### 客户端 ![客户端](/static/image/img_1.png) ## 功能列表 - **用户管理** - 用户注册 - 用户登录 - 修改密码 - 修改用户名 - **聊天功能** - 好友私聊 - 群组群聊 - 离线消息保存 - **动态提醒** - 新消息通知 - 好友上线/下线提醒 - **其他功能** - 支持多客户端同时连接 - 数据持久化存储 - **服务器管理** - 查看在线用户列表 - 支持发送服务器消息 - 强制用户下线 --- ## 技术栈 - **编程语言**: Java - **网络协议**: TCP - **数据库**: MySQL - **开发工具**: IntelliJ IDEA / Eclipse - **依赖库**: - `java.net`(用于TCP通信) - `java.sql`(用于数据库操作) --- ## 安装与配置 ### 1. 环境准备 确保您的系统已安装以下软件: - JDK 8 或更高版本 - MySQL 数据库 - Maven(可选,用于依赖管理) ### 2. 数据库配置 - 创建一个名为 `JavaChat` 的数据库。 - 在 `src/my/server/` 目录下找到 `DataBaseOpe` 文件,配置数据库连接信息: ```bash String connectionString = "jdbc:mysql://localhost:3306/JavaChat?" + "useSSL=false&serverTimezone=UTC&" + "user=root&password=123456"; // 替换为你的MySQL用户名和密码 ``` - 执行根目录下面的的sql脚本创建数据库表和存储过程 - **特别提醒** 初始化数据库的时候必须为群聊创建一个世界频道,id='10000002',否则运行会出错 ### 3. 项目运行 1. 将项目导入IDE 2. 启动服务端程序: 运行ChatServer.java 3. 启动客户端程序: 运行ChatClient.java ## 使用说明 ### 1. 用户注册 - 输入用户名和密码完成注册。 - 注册成功后,您可以登录并开始使用聊天功能。 ### 2. 登录 - 输入正确的用户名和密码登录。 - 登录后会自动加载好友列表和群组列表。 ### 3. 聊天 - **私聊**: 选择好友,输入消息并发送。 - **群聊**: 加入或创建群组,与其他成员交流。 - **离线消息**: 当您上线时,会收到之前未读的消息。 ### 4. 动态提醒 - 当有新消息或好友上线/下线时,系统会弹出提示。 --- ## 贡献指南 欢迎开发者为本项目贡献代码!如果您发现任何问题或有改进建议,请提交Issue或Pull Request。 1. Fork 本项目。 2. 创建一个新的分支:`git checkout -b feature/your-feature-name`。 3. 提交您的更改:`git commit -m "Add some feature"`。 4. 推送至远程仓库:`git push origin feature/your-feature-name`。 5. 提交Pull Request。