Ratopia WebSocket 是一个基于 Spring Boot 的 WebSocket 服务端应用,主要用于处理实时通信需求。该项目支持用户身份验证、心跳检测以及安全令牌管理,适用于需要实时交互的场景,例如在线聊天、实时通知等。
- WebSocket 通信:提供稳定的 WebSocket 连接支持,用于实时数据传输。
- 用户身份验证:通过 Token 验证用户身份,确保连接的安全性。
- 心跳检测机制:支持客户端心跳检测,维持连接状态。
- 日志记录:使用 Logback 记录系统运行日志,便于调试和监控。
- 异常处理:提供统一的异常处理机制,增强系统的健壮性。
- Java 17+
- Spring Boot
- WebSocket
- Lombok
- MyBatis Plus
- Logback
- Maven
src/main/java:Java 源代码目录cn/ratopia:主程序入口和核心模块cn/ratopia/core:核心功能模块,包括安全、模型等cn/ratopia/system:系统相关模块,包括实体、枚举、异常等
src/main/resources:资源文件目录application.yml:主配置文件logback.xml:日志配置文件
pom.xml:Maven 项目配置文件
- Java 17 或更高版本
- Maven 3.8 或更高版本
- Git
-
克隆项目:
git clone https://gitee.com/kyaru_rat/Ratopia-WS.git cd Ratopia-WS -
构建项目:
mvn clean package
-
运行项目:
java -jar target/Ratopia-WS.jar
- 修改
application.yml文件以配置数据库连接、Token 秘钥、过期时间等参数。 - 日志配置可通过
logback.xml文件进行调整。
- 客户端通过 WebSocket 连接至服务器,并发送 Token 进行身份验证。
- 服务器会定期检测客户端心跳,若超时未收到心跳包,则断开连接。
- 用户信息通过
LoginUser类进行封装,支持 Spring Security 的UserDetails接口。
- 所有异常均继承自
BaseException,可通过模块名、错误码和错误信息进行区分。 - 建议在开发过程中使用统一的异常捕获机制,以保证系统的稳定性。
欢迎贡献代码!请遵循以下步骤:
- Fork 项目
- 创建新分支 (
git checkout -b feature/new-feature) - 提交更改 (
git commit -am 'Add some feature') - 推送分支 (
git push origin feature/new-feature) - 创建 Pull Request
本项目采用 Apache-2.0 许可证。详情请查看 LICENSE 文件。