websocket
文章平均质量分 81
websocket
敲代码的小小酥
上天,请赐予我平静,去接受我无法改变的;给予我勇气,去改变我能改变的;赐我智慧,分辨两者的区别
展开
-
(一) WebSocket基础
一、WebSocket应用场景通俗的讲,WebSocket 是一种服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,实现真正的双向平等对话的协议。 WebSocket是为了解决HTTP的短链接而产生的一种协议。如果不与http客户端产生关系,那么直接用TCP协议即可。无需使用WebSocket协议。所以,在web客户端如果实现双向通信,想要服务端主动往web客户端推送消息的话,可以考虑使用websocket技术。二、WebSocket原理WebSocet是借用了一层HTTP协议,又对原创 2021-09-16 10:08:28 · 1170 阅读 · 0 评论 -
(二) WebSocket客户端/服务端代码
服务端服务端我们采用SpringBoot方式集成WebSocket。关键代码如下:开启WebSocket功能:@Configurationpublic class WebSocketConfig { @Bean public ServerEndpointExporter serverEndpointExporter() { return new ServerEndpointExporter(); }}如果不配置该类,无法将HTTP请求转换为WebSock原创 2021-09-16 11:07:28 · 1277 阅读 · 0 评论 -
关于WebSocket心跳的理解
首先,WebSocket是基于TCP连接的,TCP连接有keepalive机制,检测双方是否正常,但是keepalive有一定的局限性:1.client异常挂死,此时keepalive机制无法反馈真实的client状态; 2.client 异常断电断网出现TCP假死keepalive并不能根本性解决问题,实际上互联网环境很不稳定;3.ws在应用层,基于传输层,在ws中操作TCP也很不方便。封装就意味着易用性提高灵活性降低。在另一篇文章中,找到了下面一段通俗易懂的话,也是为何TCP的keepalive不行原创 2022-02-10 10:16:52 · 4850 阅读 · 0 评论 -
Springboot项目整合WebSocket源码分析
websocket新建对象原创 2022-06-01 16:00:58 · 1630 阅读 · 1 评论