HTTP 协议有一个缺陷:通信只能由客户端发起,做不到服务器主动向客户端推送信息。.
websocket是为了解决 HTTP中 【通信只能由客户端发起】而做出的一个改良设计;
优势:
WebSocket 只需通过一次HTTP request 就可以建立 TCP 连接;
WebSocket 是双通道连接,在同一 TCP 连接上实现双向实时通信;
有 multiplexing 功能,不同 URI 复用同一 WebSocket 连接;
流程:
1.client 向 server 先发出握手请求叫做 handshake
2.server 向 client 回应确认Acknowledgement
3.建立双向链接 Bi-directional messages
4.结束 connection end
客户端 可以任意与服务器通信 readystate 属性返回实例当前状态有四种:
connecting : 0 正在连接
open :1 连接成功
closing : 2 正在关闭
closed :3 链接已经关闭