WebSocket是HTML5开始提供的一种单个TCP连接上进行全双工通讯的协议。
在WebSocket API中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据相互传送。
浏览器通过JavaScript向服务器发出建立WebSocket连接的请求,连接建立以后,客户端和服务器之间就可以通过TCP连接直接交换数据。
当你获取Web Socket连接后,你可以通过send()方法来向服务器发送数据,并通过onmessage事件来接受服务器返回的数据。
以下api用于创建WebSocket对象。
var socket = new WebSocket(url,[protocol]);
以上代码中第一个参数url,指定链接的URL。第二个参数protocol是可选的,指定了可接受的子协议。
WebSocket 属性
以下是WebSocket对象的属性。假定我们使用了以上代码创建了socket对象:
Socket.readyState 只读属性readyState表示连接状态,可以是以下值:
1. 0-表示连接尚未建立。
2. 1-表示链接已经建立,可以进行通行。
3. 2-表示连接正在进行关闭。
4. 3-表示连接已经关闭或者连接不能打开。
Socket.bufferedAmount 只读butteredAmount已经send()放入正在队列中等待传输,但是还没有发出的UTF-8文本字节数。
WebSocket事件
以下是WebSocket对象的相关事件。假定我们使用了创建的socket:
事件:open message error close
事件处理程序:Socket.onopen Socket.onmessage Socket.onerror Socket.onclose
描述:连接建立触发 客户端接受服务器端数据时触发 通信发生错误时触发 连接关闭时触发
WebSocket方法
以下是WebSocket对象的相关方法。假定我们使用了以上代码创建Socket对象:
方法: Socket.send() Socket.close()
描述: 使用连接发送数据 关闭连接