一、介绍
WebSocket是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工通信----浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。
HTTP协议和WebSocket协议对比:
--HTTP是短连接
--WebSocket是长连接
--HTTP通信是单向的,基于请求响应模式
--WebSocket支持双向通信
--HTTP和WebSocket底层都是TCP连接
应用场景:
--视频弹幕
--网页聊天
--体育实况更新
--股票基金报价实时更新
二、入门案例
实现步骤:
①
直接使用
websocket.html
页面作为
WebSocket
客户端
②
导入
WebSocket
的
maven
坐标
③
导入
WebSocket
服务端组件
WebSocketServer
,用于和客户端通信
④
导入配置类
WebSocketConfiguration
,注册
WebSocket
的服务端组件
⑤
导入定时任务类
WebSocketTask
,定时向客户端推送数据
既然WebSocket支持双向通信,功能看似比HTTP强大,那么我们是不是可以基于WebSocket开发所有的业务功能?
WebSocket缺点:
•
服务器长期维护长连接需要一定的成本
•
各个浏览器支持程度不一
•
W
eb
S
ocket 是长连接,受网络限制比较大,需要处理好重连
结论:WebSocket并不能完全取代HTTP,它只适合在特定的场景下使用