-
webscoked出现的背景原因
网络通讯一般是基于HTTP协议和HTTPS,客户端通过浏览器发出一个请求,服务器接受请求后进行处理并返回结果给客户端,客户端最后处理结果。但是对于实时性,高并发的需求下http与https这种机制就显得效率低,体验很差。在webscoked出现之前,大家都是用的事轮询技术(长轮询, 短轮询)不管是哪种轮询都是实时效性比较低,浪费服务器资源,浪费带宽。Websocked出现后实现客户端服务器双通信,有效的提升的实时性节约资源。
-
创建webscoked对象
var Socket = new WebSocket(url, [protocol] ) 第一个参数 url, 需要连接的服务器端的URL。第二个参数 protocol 是可选的,指定了可接受的子协议(未了解)
-
Webscoked属性
Socket.readyState • 0 - 表示连接尚未建立。 • 1 - 表示连接已建立,可以进行通信。 • 2 - 表示连接正在进行关闭。 • 3 - 表示连接已经关闭或者连接不能打开。
-
Webscoked事件
事件 事件处理程序 描述 open Socket.onopen 连接建立时触发 message Socket.onmessage 客户端接收服务端数据时触发 error Socket.onerror 通信发生错误时触发 close Socket.onclose 连接关闭时触发
a、Webscoked建立连接成功并向服务器端发送数据 Socket.onopen = function(evt) { ws.send("Hello WebSockets!") }
b、发送完数据后,从服务器端接收相应返回的数据 Socket.onmessage = function(evt) { }
c、与服务器端断开连接后执行的方法 Socket.onclose = function(evt) { }
d、发生错误或意外情况时调用 Socket. onerror = function(evt) { }
-
Websocked方法
方法 描述
Socket.send() 使用连接发送数据
Socket.close() 关闭连接
Socket.send()
可以发送文本信息以及二进制信息(比如图片或者录音需要处理)