千家信息网

SpringBoot如何使用WebSocket

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍了SpringBoot如何使用WebSocket,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。WebSocket 是
千家信息网最后更新 2026年10月31日SpringBoot如何使用WebSocket

这篇文章主要介绍了SpringBoot如何使用WebSocket,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。

WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

在 WebSocket API 中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。

java怎么写

配置Bean

@Bean public ServerEndpointExporter serverEndpointExporter() { return new ServerEndpointExporter(); }

java链接

/** * token为前端连接时的标识,后端根据此token维护用户与webSocket的绑定 */@Component@ServerEndpoint("/webSocket/{token}")public class WebSocket { private Session session; private static ConcurrentHashMap webSocketMap = new ConcurrentHashMap<>(); @OnOpen public void onOpen(@PathParam(value = "token") String token, Session session) { this.session = session; webSocketMap.put(token, this); System.out.println("new connect:" + token + ". total :" + webSocketMap.size()); } @OnClose public void onClose(@PathParam(value = "token") String token) { webSocketMap.remove(token); System.out.println("disconnect:" + token + ", total:" + webSocketMap.size()); } @OnMessage public void onMessage(String message) { System.out.println("get message: " + message); } public void sendMessage(String message) { // 根据业务逻辑,找到token指向的webSocket WebSocket webSocket = webSocketMap.get(String.valueOf(message.charAt(0))); // 找不到返回 if (webSocket == null) { return; } try { webSocket.session.getBasicRemote().sendText(message); } catch (IOException e) { e.printStackTrace(); } }}

前端怎么写

/** * WebSocket客户端 * * 使用说明: * 1、WebSocket客户端通过回调函数来接收服务端消息。例如:webSocket.onmessage * 2、WebSocket客户端通过send方法来发送消息给服务端。例如:webSocket.send(); */ function getWebSocket() { /** * WebSocket客户端 PS:URL开头表示WebSocket协议 中间是域名端口 结尾是服务端映射地址 */ var webSocket = new WebSocket(/*[[${webSocketUrl}]]*/ 'ws://localhost:8080/webSocket/2'); /** * 当服务端打开连接 */ webSocket.onopen = function (event) { console.log('WebSocket打开连接'); }; /** * 当服务端发来消息:1.广播消息 2.更新在线人数 */ webSocket.onmessage = function (event) { console.log('WebSocket收到消息:%c' + event.data, 'color:green'); }; /** * 关闭连接 */ webSocket.onclose = function (event) { console.log('WebSocket关闭连接'); }; /** * 通信失败 */ webSocket.onerror = function (event) { console.log('WebSocket发生异常'); }; return webSocket; }

感谢你能够认真阅读完这篇文章,希望小编分享的"SpringBoot如何使用WebSocket"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

服务 客户 客户端 消息 之间 数据 服务器 篇文章 浏览器 浏览 前端 主动 业务 人数 价值 使用说明 兴趣 函数 动作 单个 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技园 蓝思科技飞鸽互联网 重生之互联网科技帝国 互联网金融监管科技数据 科技企业和互联网企业 美国互联网科技巨头监管 互联网科技上市公司 互联网科技小额贷款 深圳期待互联网科技 深圳国际航运科技和互联网 福州新华互联网科技学校 知乎 互联网科技项目计划书材料类 重庆互联网医院沙龙医盟信息科技 想开互联网科技公司怎么样 高科技互联网套路 电子商务与互联网科技的关系 上海同邻互联网科技有限公司规模 互联网科技和医药行业 重庆科技产业互联网有哪些 银川新华互联网科技学校招聘 美国互联网保险保险科技 中国 科技 互联网 艾特科技互联网 山东吉时兔互联网科技有限公司 互联网科技与管理 成都互联网科技公司工作好不好 徐州市互联网科技有限公司 高科技互联网套路 互联网领先科技活动 亚光科技低轨卫星互联网
0