Websocke 是HTML5开始提供的一种在单个TCP连接上进行全双工通讯的协议
在WebSocket API 中 浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的链接,并进行双向传输数据。
浏览器通过JavaScript向服务器发出建立WebSocket连接的请求,连接建立后,客户端和服务端可以通过TCP连接直接交换数据
var Socket = new WebSocket(url,[protocol]);
属性
属性 | 描述 |
---|---|
Socket.readyState | 只读属性readyState表示连接状态, 0 连接尚未建立1已建立连接可以通信 2 连接正在进行关闭 3 已关闭连接或者连接不能打开 |
Socket.bufferedAmount | 只读属性bufferedAmount已被send()放入正在队列中等待传输但是还没有发出的utf-8文本字节数 |
事件
事件 | 事件处理程序 | 描述 |
---|---|---|
open | Socket.onopen | 连接建立时会触发 |
message | Socket.onmessage | 客户端接收到服务端数据时触发 |
error | Socket.onerror | 通信发生错误时触发 |
close | Socket.onclose | 连接关闭时触发 |
方法
方法 | 描述 |
---|---|
Socket.send | 使用连接发送数据 |
Socket.close | 关闭连接 |
建立连接的过程,
- 浏览器客户端向服务器发送一个HTTP 请求 请求内容包含一些信息 其中就是"Upgrade:WebSocket" 这个表示从HTTP协议升级为websocket
2.服务器接收到第一个请求后,解析请求头中信息并产生应答信息后返回给客户端,这样一个websocket连接就算是建立成功了