spring boot websocket 客户端_SpringBoot2.2 实践WebSocket被不靠谱的百度搜索结果坑了多少人...

日常普通项目开发过程中,我们几乎很少用到WebSocket开发。但最近的项目有个功能需要服务器端实时的推送最新的信息同步到前端页面展示。所以思前想后,决定采用WebSocket再适合不过了。于是在实现的过程中刚开始各种百度WebSocket实现流程及样例。遗憾的是,搜索的结果永远都是千篇一律的一致。(甚至,可以肯定的是基本都是复制粘贴没有经过亲身实践过)虽然大的方向没错,但最终的结果就是一直各种错误,各种websocket连接失败。直至最后琢磨了半天,才确认结果。再次验证实际工作中细节决定成败啊。

a0c9aa1b6ecf4eb78dfae0c5e03719a1

该图片来源于websocket官网

既然准备用WebSocket,那就首先了解WebSocket的主要作用。WebSocket他是为了解决客户端发起多个http请求到服务器资源浏览器必须要经过长时间的轮训问题而生的,他实现了多路复用,他是全双工通信。在webSocket协议下客户端和浏览器可以同时发送信息。用大白话解释主要作用就是:

  1. 客户端特别频繁的和服务器进行数据交互的时候(比如按秒级别的请求)
  2. 服务器端定时向前端推送消息的时候

废话就说到这里,下面直接撸上这次实践过程中的干货及注意点:

框架用的是SpringBoot目前最新版本2.2的框架,首先pom文件依赖添加spring-boot-starter-websocket就行了,如图:

14c06f62fbd34c68aa458bbe25e6852f

然后创建websocket配置文件,如图:

338ca5f2c67f4c868d87c7d621209482

最后也是最重要的就是websocket服务端代码编写:划重点一定要注意两个注解(@Controller 和@ServerEndpoint),网上基本都是@Component注解,然后各种解析包冲突等问题。

b5cb043138e542718c2737db83eff4a3
7a280220b9b04d6290c0a2960a4edf62
4d5d3ef4446f47acaba41d4a4a9dd7da

完成上面三个主要步骤,springboot集成 WebSocket服务端的工作就完成了。后面就是前端websocket连接写法需要注意下:

f7004e0b92ab41c7a54e4f6b48ccd7f8

websocket端口号就是后台服务端的端口号,这里的IP一定要写成对应的IP地址,不要用localhost或127.0.0.1地址。

全部写完后,后端直接写个定时任务调用发送消息的接口,前端就可以实时展示服务端推送的消息内容了。至此,所有注意点都已经说明了。有不明白或需要详细了解的小伙伴可关注并私聊我。难得抽出点额外时间来补充这次工作中用到websocket遇到的问题点,在此给自己做个笔记同时分享给需要了解的朋友们。还是那句话。期待大家一起学习一起进步。

See you next time!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值