WebSocket
特点:服务器可以主动想客户端推送信息,客户端也可以主动向服务器发送消息,所有浏览器都支持
- 建立在TCP协议上,服务端的实现比较容易
- 与HTTP协议有良好的兼容性
- 数据比较轻量级,性能开销小,通信高效
- 可以发送文本,可以发送二进制数据
- 没有同源策略,客户端可以与任意服务器通信
- 协议标识符为ws,如果加密是wss,服务器网址就是URL
客户端API
WebSocket对象作为一个构造函数,用于创建WebSocket实例
var ws = new WebSocket( ‘ws://localhost:3000’ ) 执行这段语句后,客户端会与服务器进行连接 |
WebSocket.readyState
实例对象的当前状态,共四种
|
WebSocket.onopen
实例对象的onopen属性,用于指定连接成功后的回调函数,如果要指定多个回调函数,可以使用addEventListener方法
ws.onopen=function(){}
ws.addEventListener(‘open’,function(){}) |
WebSocket.onclose
实例对象的onclose属性,用于指定连接关闭后的回调函数
WebSocket.onmessage
实例对象的onmessage属性,用于指定收到服务器数据后的回调函数,event为服务器返回的数据对象
wx.onmessage=function(event){ var data = event.data }
服务器数据可能是文本,也可能是二进制数据(blob对象或者ArrayBuffer对象)
ws.binaryType返回连接所传输的二进制数据类型,返回值为字符串 ‘blob’或者’arraybuffer’ |
WebSocket.bufferedAmount
实例对象的buggeredAmount属性,表示多少字节的二进制数据没有发送出去,它可以用来判断发送是否结束
var data = new ArrayBuffer(10000000); |
WebSocket.onerror
实例对象的onerror属性,用于指定报错时的回调函数
WebSocket.send()
实例对象的send()方法用于向服务器发送数据数据
发送文本
|
WebSocket.close()
实例对象的close()方法关闭WebSocket连接
标签:WebSocket,对象,实例,ws,使用,var,data From: https://blog.51cto.com/u_14389461/6059072