websocket

作者: Jianshu9527 | 来源:发表于2018-06-01 20:54 被阅读14次

一 、认识

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来模拟服务器进行操作

相关文章

网友评论

      本文标题:websocket

      本文链接:https://www.haomeiwen.com/subject/fzbcsftx.html