WebSocket 的使用
websocket是HTML5开始提供的一种网络通信协议,它的目的是在浏览器之间建立一个不受限的双方通信的通道,比如说,服务器可以在任意时刻发送信息给浏览器。在websocket的API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
- 基本使用
// 连接服务器
var ws = new WebSocket("接口地址")
// 连接成功触发
ws.onopen = function() {
alert("连接成功")
}
// 连接失败触发
ws.onerror = function() {
alert("连接失败")
}
// 发送数据
ws.send(); // 向服务端发送请求
// 接收消息时触发
ws.onmessage = function(MessagEvent) {
console.log(MessagEvent.data)
}
// 连接关闭的回调函数
ws.onclose = function(){
alert("close")
}
- readyState
// readyState属性返回实例对象的当前状态,共有四种。
CONNECTING: // 值为0,表示正在连接。
OPEN:// 值为1,表示连接成功,可以通信了。
CLOSING:// 值为2,表示连接正在关闭。
CLOSED:// 值为3,表示连接已经关闭,或者打开连接失败。
// 使用:
switch (ws.readyState) {
case WebSocket.CONNECTING:
// do something
break;
case WebSocket.OPEN:
// do something
break;
case WebSocket.CLOSING:
// do something
break;
case WebSocket.CLOSED:
// do something
break;
default:
// this never happens
break;
}