springboot整合webSocket+thymeleaf

闲来无事突然想到自己对webSocket的用法还是很模糊,只知道是长连接什么的,所以打算自己搭建一套springboot+webSocket的demo。

WebSocket 是什么?

WebSocket 是一种网络通信协议。RFC6455 定义了它的通信标准。

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

言归正传直接上代码:

1.首先创建一个springboot项目,这个就不多说了哈,先把项目结构贴上来

2.开始整合webSocket,首先pom文件引入相关jar包

下面在这个的引入只要是由于存在相关页面动态跳转,引入thymeleaf模板引擎,实现页面动态跳转,并传入model值

3.配置webSocket配置文件

4.配置webSocket服务端

5.配置相应的controller,方便接口调用

6.配置一个前端页面以便在前端创建webSocket连接

基本上到这步如果按章步骤的的话应该就成功了,注意,webSocket之间是根据刚才定义的cid连保持一致性的

7.最后测试一下

http://localhost:8080/checkcenter/socket/20

然后试着发消息

http://localhost:8080/checkcenter/socket/push/20?message=12345

接收成功,成功整合

现在springboot整合webSocket就成功了,因为是随意搭建的小demo只是实现了基本原理,阐述一下里面的几个点:

由于需要用到服务端动态跳转页面(使用el表达式获取model值),所以在spingboot中需要整合模板引擎thyemleaf,记住,使用模板引擎后,动态跳转之后页面路径默认在resource/template下

还有就是前端页面中获取model值的方法需要说明下(可能因为我对前端不熟悉吧哈哈哈哈),这还是从之前项目前端页面学来的,才能用thymleaf的表达式th

附上GitHub地址:https://github.com/zhuangxincheng/springboot-webSocket