WebSocket使用
- html5定义WebSocket 协议,能更好的节省服务器资源和带宽,并且能够更实时地进行通讯。
- 为实现推送效果,可以使用ajax轮询。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽等资源。
图解区分websocket 与 ajax轮询
var url = 'ws://localhost:9998/echo'
var socket = new WebSocket(url,[protocol])
//第一个参数url为请求地址,第二个protocol为可选,指定了可接受的协议。
socket.onopen = function(){
//websocket建立连接时触发。
}
socket.onmessage = function(){
//客户端接受服务端数据时候触发
}
socket.onerror = function(){
//通讯时发生错误时触发
}
socket.onclose = function(){
//连接关闭时候触发
}
//向服务器发送数据
socket.send("发送数据")
//关闭连接
socket.close();
Websocket 使用 ws 或 wss 的统一资源标志符,类似于 HTTPS,其中 wss 表示在 TLS 之上的 Websocket。如:
ws://example.com/wsapi
wss://secure.example.com/