# Spring-websocket **Repository Path**: itwanger/Spring-websocket ## Basic Information - **Project Name**: Spring-websocket - **Description**: Spring boot整合websocket实现即时通讯 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 9 - **Forks**: 789 - **Created**: 2023-05-11 - **Last Updated**: 2025-05-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## Spring-websocket 传统的HTTP协议,一般通过向服务器发送请求,拉取数据实现半双工通信,缺点是服务器难以直接向浏览器下发消息,因此,websocket协议应运而生,可用于向建立连接的浏览器主动下发任意数据(PUSH)。本项目基于Spring平台,整合websocket协议,实现一个简易web聊天室的功能。主要特性如下: 1.包含聊天室登录、退出的功能。登录时,浏览器自动向服务器发起websocket连接,退出时自动切断。登录页面为http://localhost:8080/login 2.账号Jon或者TOM,密码是1234,登录后,用户可查看到聊天室在线的用户列表,我们在服务器上通过一个hashmap始终记录了当前在线的用户列表; 3.登录的用户可以点击一个在线的其他用户,并给他发送消息,消息先提交给服务器,在通过服务器转发给另一端用户; 4.支持群发消息的功能,使用时,服务器会将收到的消息群发给当前在线的所有用户; 5.添加好友上线提醒和下线提醒的功能,当有好友上线或下线时自动通知所有其他在线人,不要刷新页面可看到实时在线用户列表。 ## 运行说明 第一步,把数据库文件 staff.sql 导入到 MySQL 数据库(sakila) ![](https://cdn.tobebetterjavaer.com/images/README/1683781490766.png) 第二步,在 application.yml 中修改数据库连接信息 ![](https://cdn.tobebetterjavaer.com/images/README/1683781545101.png) 第三步,运行项目,访问 http://localhost:8080/login 输入用户名和密码,可以登录两个用户,然后在两个浏览器窗口中聊天 ![](https://cdn.tobebetterjavaer.com/images/README/1683781740407.png) ### 关注微信公众号获取更多技术文章和源码 ![输入图片说明](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/itmind-ideapxideajhideayjjhmideazxjhzcmpjjcyjjhqcyx-fc5a32f3-04ed-4bbf-9df8-a13a409a275f.png)