超文本传输协议( HTTP , HyperText Transfer Protocol)是互联网上应用
最为广泛的一种网络协议。是用于从 WWW 服务器传输超文本到本地浏览器的传送协议。
访问一个网页一次 http 请求的过程
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 连接已经关闭,或者连接无法建立 |