1. 程式人生 > >websocket前端的程式碼實現

websocket前端的程式碼實現

有時候我們要做一種實時展示資料的大屏展示頁面,類似與京東雙十一那種,

這時候資料互動該怎麼寫呢,使用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>