WebSocket 协议与优点
WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。
WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户
端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接
可以创建持久性的连接,并进行双向数据传输。
demo:https://www.cnblogs.com/qilin-3611/p/7054270.html
WebSocket 与 Ajax 的对比
Ajax 原理非常简单,让浏览器隔个几秒就发送一次请求,询问服务器是否有新信息。
场景再现:
客户端:啦啦啦,有没有新信息(Request)
服务端:没有(Response)
客户端:啦啦啦,有没有新信息(Request)
服务端:没有。。(Response)
客户端:啦啦啦,有没有新信息(Request)
服务端:你好烦啊,没有啊。。(Response)
客户端:啦啦啦,有没有新消息(Request)
服务端:好啦好啦,有啦给你。(Response)
客户端:啦啦啦,有没有新消息(Request)
服务端:。。。。。没。。。。没。。。没有(Response) —- loop
而 WebSocket 服务端就可以主动推送信息给客户端,只需要经过一次 HTTP 请求,就可以做
到源源不断的信息传送了。(在程序设计中,这种设计叫做回调,即:你有信息了再来通知我 ,
而不是我傻乎乎的每次跑来问你 )
场景再现:
客户端:啦啦啦,我要建立 Websocket 协议,需要的服务:chat,Websocket 协议版本:
17(HTTP Request)
服务端:ok,确认,已升级为 Websocket 协议(HTTP Protocols Switched)
客户端:麻烦你有信息的时候推送给我噢。。
服务端:ok,有的时候会告诉你的。
服务端:balabalabalabala
服务端:balabalabalabala