要实现客户端与服务器端的通信,最常接触的是http(https)协议,http通信只能是客户端发起请求,服务器响应。服务器不能主动向客户端传递消息。
HTTP 协议无法做到服务器主动向客户端推送信息,2008年诞生的WebSocket 协议可以实现客户端与服务器端的双向对话,即:服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息。
- WebSocket 协议的底层协议也是TCP协议
- WebSocket 协议的标识符为ws,加密后为wss
- WebSocket 协议没有同源限制,即WebSocket 协议可以跨域通信
- WebSocket 协议是有状态的,是前后端交互的长连接,即建立连接后可以保持连接状态,通信时可以省略部分状态信息
- WebSocket 协议可以发送文本,也可以发送二进制数据
客户端实现
客户端可以通过WebSocket 构造函数创建WebSocket 对象
创建和管理 WebSocket 连接,并通过该连接发送和接收数据的 API。
属性
说明
readyState
当前 WebSocket 的链接状态 , 0:正在链接中 1:已经链接并且可以通讯 2:连接正在关闭 3;连接已关闭或者没有链接成功
onopen
连接成功后的回调
onerror
连接失败后的回调
onmessage