有时候我们要做一种实时展示数据的大屏展示页面,类似与京东双十一那种,
这时候数据交互该怎么写呢,使用ajax请求接口 开定时器,不间断请求数据,这样做理论上可以,但是太消耗性能,基于这样的情况下
websocket就出现了
普通的ajax请求数据是单向的,也就是客户端(浏览器)主动像服务器发送请求,服务器响应,回传数据,展示页面!
websocket是双向的,建立链接之后,服务器数据发生变化,自动把数据推送过来,实现实时响应,展示页面!
实际效果如下:
代码
<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<meta name="viewport" content="width=device-width, initial-scale=1.0"> ???<meta http-equiv="X-UA-Compatible" content="ie=edge"> ???<title>Document</title></head><body> ???</body><script> ???var ws = new WebSocket(‘ws://121.40.165.18:8800‘); ???// 建立 web socket 连接成功触发事件 ????ws.onopen = function () { ???????var json="{‘a‘:‘1‘,‘b‘:‘2‘}" ????????ws.send(json);//可以给后台发送参数 ???}; ???//接收到消息的回调方法 ???ws.onmessage = function (event) { ???????alert(‘数据回来了额‘+event.data) ???????console.log(event.data);//后台不间断发送数据,持续接收。 ???} ???//断开 web socket 连接成功触发事件 ???ws.onclose = function () { ???????alert("连接已关闭..."); ???};</script></html>
websocket前端的代码实现
原文地址:https://www.cnblogs.com/yibadejiu/p/9962589.html