JaneChelle | Blog JaneChelle | Blog

执着于理想,纯粹于当下

目录
WebSocket
/  

WebSocket

1. 前言

  • HTTP 如何通讯?
  • WebSocket 是什么?和 HTTP 有什么关系?
  • WebSocket 如何实现通讯?
  • Web 通讯技术有哪些?

2. http

超文本传输协议( HTTP , HyperText Transfer Protocol)是互联网上应用
最为广泛的一种网络协议。是用于从 WWW 服务器传输超文本到本地浏览器的传送协议。

访问一个网页一次 http 请求的过程

3. WebSocket

WebSocket protocol 是 HTML5-种新的协议。它实现了浏览器与服务
器全双工通信(full-duple)。-开始的握手 需要借助 HTTP 请求完成。

WebSocket 需要类似 TCP 的客户端和服务器端通过握手连接,连接成功后才能相互通信,客户端和服务端都能主动的向对方发送或接收数据

WebSocket 对象提供了一组 API,用于创建和管理 WebSocket 连接,
以及通过连接发送和接收数据。

1.创建 WebSocket 对象

var ws = new WebSocket(url, [protocols]);

url表示要连接的 URL。这个 URL 应该为响应 WebSocket 的地址。
protocols可以是-一个单个的协议名字字符串或者包含多个协议名字字符串的数组。

2.关闭 WebSocket 连接或停止正在进行的连接请求

close一个数字值表示关闭连接的状态号,表示连接被关闭的原因。
reason一个可读的字符串,表示连接被关闭的原因。

3.send(data) 通过 WebSocket 连接像服务器发送数据

data可以是二进制数,也可以是字符串

4.属性

onclose用于监听连接关闭事件监听器。当 WebSocket 对象的 readyState 状态变为 CLOSED 时会触发该事件。会接收一个 close event 对象
onerror当错误发生时用于监听 error 事件的事件监听器。会接收一个 error event 对象
onmessage一个用于消息事件的事件监听器,这一事件当有消息到达的时候该事件会触发。会接收一个 message event 对象
onopen
一个用于连接打开事件的事件监听器。当 readyState 的值变为 OPEN 的时候会触发该事件。会接收一个 open event 对象
readyState连接的当前状态。
0 连接还没开启
1 连接已开启并准备好进行通信
2 连接正在关闭的过程中
3 连接已经关闭,或者连接无法建立