# websocket **Repository Path**: zhang-meng66/websocket ## Basic Information - **Project Name**: websocket - **Description**: 基于 Spring Boot 和 WebSocket 的简易实时通信系统,核心目标为实现多用户在线即时消息交互。系统通过 WebSocket 协议建立长连接,支持用户动态上下线通知、公共消息广播等基础功能,帮助理解实时通信的核心逻辑与后端开发基础流程。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-25 - **Last Updated**: 2026-06-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WebSocket 聊天室 一个基于 Spring Boot 和 Java WebSocket API 实现的实时聊天室应用。 ## 项目简介 这是一个简单的 WebSocket 聊天室演示项目,允许用户连接到聊天服务器,进行实时消息收发,并查看当前在线用户列表。 ## 技术栈 - **后端**:Spring Boot + Javax WebSocket API - **前端**:HTML + JavaScript - **构建工具**:Maven ## 快速开始 ### 环境要求 - JDK 8 或更高版本 - Maven 3.x ### 构建运行 ```bash # 打包项目 mvn clean package # 运行项目 mvn spring-boot:run ``` 或者直接运行生成的 JAR 文件: ```bash java -jar target/websocket-demo.jar ``` ### 访问应用 启动成功后,打开浏览器访问: ``` http://localhost:8080 ``` ## 功能说明 1. **连接服务器**:打开页面后自动连接到 WebSocket 服务器 2. **发送消息**:在输入框中输入消息,点击发送按钮即可广播给所有在线用户 3. **查看在线用户**:页面左侧显示当前所有在线用户列表 4. **实时通信**:所有消息会即时推送给所有已连接的客户端 ## 项目结构 ``` src/ ├── main/ │ ├── java/com/safla/ │ │ ├── App.java # Spring Boot 启动类 │ │ ├── config/ │ │ │ └── JavaxWebSocketConfiguration.java # WebSocket 配置 │ │ └── socket/ │ │ └── ChatRoomServer.java # 聊天室 WebSocket 端点 │ └── resources/ │ └── static/ │ └── index.html # 前端页面 ``` ## 核心类说明 ### ChatRoomServer WebSocket 端点类,提供以下功能: - `@OnOpen`:客户端连接时触发 - `@OnMessage`:收到消息时触发,用于广播消息 - `@OnClose`:客户端断开连接时触发 - 维护在线用户会话集合 ### JavaxWebSocketConfiguration 配置 ServerEndpointExporter Bean,用于注册 WebSocket 端点。 ## 许可证 MIT License