SpringBoot2.0整合WebSocket,实现后端数据实时推送

社长 1月前 ⋅ 49 阅读
var socket; if (typeof (WebSocket) == "undefined") { console.log("遗憾:您的浏览器不支持WebSocket"); } else { console.log("恭喜:您的浏览器支持WebSocket"); //实现化WebSocket对象 //指定要连接的服务器地址与端口建立连接 //注意ws、wss使用不同的端口。我使用自签名的证书测试, //无法使用wss,浏览器打开WebSocket时报错 //ws对应http、wss对应https。 socket = new WebSocket("ws://localhost:8080/ws/asset"); //连接打开事件 socket.onopen = function() { console.log("Socket 已打开"); socket.send("消息发送测试(From Client)"); }; //收到消息事件 socket.onmessage = function(msg) { $("#messageId").append(msg.data+ "\n"); console.log(msg.data ); }; //连接关闭事件 socket.onclose = function() { console.log("Socket已关闭"); }; //发生了错误事件 socket.onerror = function() { alert("Socket发生了错误"); } //窗口关闭时,关闭连接 window.unload=function() { socket.close(); }; } ``` ### 三、查看运行效果 启动 SpringBoot 项目 1. 打开首页 本地浏览器打开首页 http://localhost:8080/,出现 WebSocket 测试页面,同时后台打印连接的日志。 ``` 有连接加入,当前连接数为:1,sessionId=0 ``` 1. 往客户端发送消息 通过上面日志可以看到客户端连接连接的 sessionId,我测试时候 sessionId 是 0,然后浏览器访问下面接口即可往客户端发送消息。 ``` //参数说明: id:sessionID //参数说明: message:消息内容 http://localhost:8080/api/ws/sendOne?id=0&message=你好Java碎碎念 ``` ![](https://image-1300566513.cos.ap-guangzhou.myqcloud.com/upload/images/20211019/f58b30d498c34a328c21852aa36d4aab.png) 发送消息动图 到此 SpringBoot 整合 WebSocket 的功能已经全部实现。 > 完整源码地址: https://github.com/suisui2019/springboot-study

全部评论: 0

    我有话说: