websocket的应用

初次接触WebSocket的人,都会问同样的问题:我们已经有了HTTP协议,为什么还需要另一个协议?它能带来什么好处?“

答案很简单,因为HTTP协议有一个缺陷:通信只能由客户端发起。

这种单向请求的特点,注定了如果服务器有连续的状态变化,客户端要获知就非常麻烦。我们只能使用”轮询(polling)”:每隔一段时间,就发出一个询问(request),了解服务器有没有新的信息。轮询的效率低,非常浪费资源(因为必须不停连接,或者HTTP连接始终打开)。因此,工程师们一直在思考,有没有更好的方法。

WebSocket应运而生。

伴随着HTML5推出的WebSocket,真正实现了Web的实时通信,使B/S模式具备了C/S模式的实时通信能力。WebSocket的工作流程是这样的:
浏览器通过JavaScript向服务器发出建立WebSocket连接的请求,在WebSocket连接建立成功后,客户端和服务端就可以通过TCP连接传输数据。因为WebSocket连接本质上是TCP连接,不需要每次传输都带上重复的头部数据,所以它的数据传输量比轮询和Comet技术小了很多。

从以上的这段描述中,其实已经回答了以上提到的三个问题。
(1) WebSocket是可以实现由服务器主动向客户端推送消息的功能,而不需要依赖于来自客户端的请求,增加了服务器的主动性和灵活性;
(2)与WebSocket类似的协议就是HTTP了,HTTP的通信只能由客户端发起,而WebSocket的通信只需要客户端与服务器握手建立连接后,双方便可以平等地、无差别地相互传送信息了,直至任意一方主动断开连接结束;
(3)WebSocket由于依赖的是TCP协议,因此在连接建立后,传输数据量比依赖于HTTP的传输数据量要小,提高了传输的效率。
建立握手拦截器:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20181203141201654.png
webosoket配置类:
在这里插入图片描述
接收websocket传送的信息
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小民佩奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值