摘要:優點參考維基與對比圖客戶端例子連接成功后調用當接收到服務器消息時調用連接關閉后調用服務端例子運行結果客戶端服務端名詞解釋握手一般創建鏈接需要通過瀏覽器發出請求服務器做出回應這個過程稱為握手參考鏈接協議分鐘從入門到精通
原文地址
github項目地址
WebSocket是一種在單個TCP連接上進行全雙工通信的協議。2. 優點(參考維基)
使得客戶端和服務器之間的數據交換變得更加簡單,允許服務端主動向客戶端推送數據。
在WebSocket API中,瀏覽器和服務器只需要完成一次握手,兩者之間就直接可以創建持久性的連接,并進行雙向數據傳輸。
WebSocket與HTTP對比圖
const ws = new WebSocket("ws://localhost:8888"); ws.onopen = () => { console.log("WebSocket onopen"); } ws.onmessage = e => { console.log("WebSocket onmessage"); console.log("WebSocket message received:", e); console.log("WebSocket data received:", e.data); } ws.onclose = e => { console.log("WebSocket onclose"); };
WebSocket.onopen: 連接成功后調用
WebSocket.onmessage: 當接收到服務器消息時調用
WebSocket.onclose: 連接關閉后調用
服務端例子(koa)const Koa = require("koa"); const WebSocket = require("ws"); const app = new Koa(); const ws = new WebSocket.Server({port: 8888}); ws.on("connection", ws => { console.log("server connection"); ws.on("message", msg => { console.log("server receive msg:", msg); }); ws.send("Information from the server"); }); app.listen(3000);運行結果
客戶端
服務端
名詞解釋握手: 一般創建WebSocket鏈接, 需要通過瀏覽器發出請求,服務器做出回應, 這個過程稱為“握手”
參考鏈接WebSocket協議:5分鐘從入門到精通
MDN
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/101841.html
摘要:不過永久幀的技術會導致主頁面的加載條始終處于狀態,體驗很差。同時,規范允許服務端指定自定義事件,客戶端偵聽該事件即可。 服務端推 服務端推,指的是由服務器主動的向客戶端發送消息(響應)。在應用層的HTTP協議實現中,請求-響應是一個round trip,它的起點來自客戶端,因此在應用層之上無法實現簡易的服務端推功能。當前解決服務端推送的方案有這幾個: 客戶端長輪訓 websocket...
摘要:接口用于接收服務器發送的事件。因此,是目前來說最佳的選擇。最大特點就是,服務器可以主動向客戶端推送消息,客戶端也可以主動向服務器發送信息,是一種不受限的全雙工通信。若是,則交給的回調函數處理,否則,還是走正常的回調的路子。 使用 WebSocket 的理由 傳統的http協議有一個根本性的缺陷,那就是請求只能由客戶端向服務器發起,服務器接收到請求后再進行響應,把數據返回給客戶端。也就是...
閱讀 3817·2021-11-18 13:19
閱讀 1169·2021-10-11 10:58
閱讀 3278·2019-08-29 16:39
閱讀 3130·2019-08-26 12:08
閱讀 2026·2019-08-26 11:33
閱讀 2453·2019-08-23 18:30
閱讀 1298·2019-08-23 18:21
閱讀 2515·2019-08-23 18:18