摘要:服務器和客戶端可以在給定的時間范圍內的任意時刻,相互推送信息。指定連接成功后的回調函數用于向服務器發送數據或者指定收到服務器數據后的回調函數指定連接關閉后的回調函數指定報錯時的回調函數關閉
1、websocket 是什么?
解決客戶端與服務端實時通信而產生的技術。
先通過HTTP/HTTPS協議進行握手后創建一個用于交換數據的TCP連接,然后服務端與客戶端通過此TCP連接進行實時通信。
服務器和客戶端可以在給定的時間范圍內的任意時刻,相互推送信息。
以前我們實現推送技術,用的都是輪詢,在特定時間間隔由瀏覽器自動發出請求,主動拉取服務器消息。需要不斷的向服務器發送請求,會占用大量的帶寬和服務器資源。
2、使用websocket
在支持WebSocket的瀏覽器中,在創建socket之后。可以通過onopen,onmessage,onclose、onerror四個事件實現對socket進行響應
只讀屬性 readyState 表示連接狀態,可以是以下值: 0 - 表示連接尚未建立。 1 - 表示連接已建立,可以進行通信。 2 - 表示連接正在進行關閉。 3 - 表示連接已經關閉或者連接不能打開。 // window.WebSocket "WebSocket" in window 檢測瀏覽器是否支持 WebSocket var ws = new WebSocket(“ws://localhost:8080”); // 申請一個WebSocket對象,參數是需要連接的服務器端的地址 // 同http協議使用http://開頭一樣,WebSocket協議的URL使用ws://開頭 // 另外安全的WebSocket協議使用wss://開頭。 // 指定連接成功后的回調函數 ws.onopen = function() { console.log(“open”); ws.send(“hello”); // 用于向服務器發送數據 }; // 或者 ws.addEventListener("open", function (event) { ws.send("Hello Server!"); }); // 指定收到服務器數據后的回調函數 ws.onmessage = function(evt) { console.log(evt.data) }; // 指定連接關閉后的回調函數 ws.onclose = function(evt) { console.log(“WebSocketClosed!”); }; // 指定報錯時的回調函數 ws.onerror = function(evt) { console.log(“WebSocketError!”); }; // 關閉websocket websocket.close();
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/103307.html
摘要:概述本文是系列的第一篇,主要介紹相關的基礎協議知識和。客戶端收到響應后,立即發起下一次的請求。收到消息通過事件來接收消息。類型則需要傳遞一個對象作為參數,相關的內容也將在本系列第二篇中進行介紹。 概述 本文是WebSocket系列的第一篇,主要介紹WebSocket相關的基礎協議知識和API。由于WebSocket的相關介紹在MDN中分布較亂,初學者不太容易入門,因此通過本文將相關基礎...
摘要:服務端確認協議版本,升級為協議。自己寫了一個例子,服務端在開始連接后,利用定時器主動向客戶端發送隨機數,客戶端也可以發給服務器消息,然后服務器返回這條消息給客戶端。 寫在前面 webSocket是一項可以讓服務器將數據主動推送給客戶端的技術。前幾天寫了一個日志功能,日志數據需要實時更新。正好項目中有封裝好的WebSocket組件,且接口支持webSocket,就用它實現了。也是第一次用...
摘要:服務端確認協議版本,升級為協議。自己寫了一個例子,服務端在開始連接后,利用定時器主動向客戶端發送隨機數,客戶端也可以發給服務器消息,然后服務器返回這條消息給客戶端。做的事情就是給頁面的元素綁定事件。 寫在前面webSocket是一項可以讓服務器將數據主動推送給客戶端的技術。前幾天寫了一個日志功能,日志數據需要實時更新。正好項目中有封裝好的WebSocket組件,且接口支持webSock...
摘要:概述本文為協議的第十一章,本文翻譯的主要內容為的相關注意事項。應用協議使用這個協議規范互操作性注意事項使用時需要使用或者更高版本的協議。安全性注意事項見安全性注意事項一節。 概述 本文為 WebSocket 協議的第十一章,本文翻譯的主要內容為 WebSocket 的 IANA 相關注意事項。 IANA 注意事項(協議正文) 11.1 注冊新 URI 協議 11.1.1 注冊 ws 協...
摘要:上一篇文章第二章實戰演練開發網站第九節防止跨站攻擊下一篇文章第三章概念及應用第二節服務端編程的異步特性使得其非常適合服務器的高并發處理,客戶端與服務器的持久連接應用框架就是高并發的典型應用。因為是的標準協議,所以不受企業防火墻的攔截。 上一篇文章:Python:Tornado 第二章:實戰演練:開發Tornado網站:第九節:防止跨站攻擊下一篇文章:Python:Tornado 第三章...
閱讀 3440·2021-09-26 09:46
閱讀 2788·2021-09-13 10:23
閱讀 3525·2021-09-07 10:24
閱讀 2396·2019-08-29 13:20
閱讀 2923·2019-08-28 17:57
閱讀 3078·2019-08-26 13:27
閱讀 1184·2019-08-26 12:09
閱讀 512·2019-08-26 10:27