一 、认识
websocket是HTML5提供的一种单个TCP链接上进行双工通讯的协议,于2008年诞生,2011年成为标准,只要
浏览器在和服务器进行了一个握手链接之后,就会形成一条双向通道,从而两者就可以进行数据互相传送,在
以往我们通讯都是依靠HTTP来进行请求但是就会有一个弊端,所有的请求都是单项的,就是必须客户端发送一
个消息,服务器接受到请求之后进行响应,通常的网站都是通过轮询来进行数据的接收,来看服务器是否有最
新的消息,但是如果对于场景需求高的(聊天室)哪如果采用这种方式进行通讯,那么效率会很低效乎,工程师
就发明了websocket,它的出现从而解决了HTTP双向通讯的问题。
websocket兼容性.png
二、特点
- 建立在TCP协议上
- 数据格式轻量
- 文本发送,同时支持发送二进制数据(通信高效)
- 没有同源限制,客户端可以与任何服务器进行通信
三、基本方法
1 webSocket 实例
let socket = new WebSocket(url,protocol)
url * URL地址
protocol * 子协议(可选)
2 webSocket.readyState
返回实例对象的状态,共四种
0 * 表示尚未连接(CONNECTING)
1 * 表示已经练级(OPEN)
2 * 表示连接正在关闭(CLOSING)
3 * 表示连接已经关闭或连接不能打开(CLOSED)
3 、webSocket.onopen
//websocket连接成功之后的回调
socket.onopen = function(){
//code
}
4、websocket.onerror
//websocket.onerror用于连接报错之后的回调
socket.onerror = function(){
//code
}
5、webSocket.onmessage
//websocket用于指定收到服务器消息之后的回调
socket.onmessage = function(){
//code
}
6、webSocket.send
//用于往服务器发送数据
socket.send(value)
7、webSocket.close
//关闭连接之后的回调函数
socket.close = function(){
//code
}
-- 后续会通过node.js来模拟服务器进行操作
网友评论