websocket前端的程式碼實現
阿新 • • 發佈:2018-11-15
有時候我們要做一種實時展示資料的大屏展示頁面,類似與京東雙十一那種,
這時候資料互動該怎麼寫呢,使用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>