摘要:優(yōu)點參考維基與對比圖客戶端例子連接成功后調(diào)用當(dāng)接收到服務(wù)器消息時調(diào)用連接關(guān)閉后調(diào)用服務(wù)端例子運行結(jié)果客戶端服務(wù)端名詞解釋握手一般創(chuàng)建鏈接需要通過瀏覽器發(fā)出請求服務(wù)器做出回應(yīng)這個過程稱為握手參考鏈接協(xié)議分鐘從入門到精通
原文地址
github項目地址
WebSocket是一種在單個TCP連接上進行全雙工通信的協(xié)議。2. 優(yōu)點(參考維基)
使得客戶端和服務(wù)器之間的數(shù)據(jù)交換變得更加簡單,允許服務(wù)端主動向客戶端推送數(shù)據(jù)。
在WebSocket API中,瀏覽器和服務(wù)器只需要完成一次握手,兩者之間就直接可以創(chuàng)建持久性的連接,并進行雙向數(shù)據(jù)傳輸。
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: 連接成功后調(diào)用
WebSocket.onmessage: 當(dāng)接收到服務(wù)器消息時調(diào)用
WebSocket.onclose: 連接關(guān)閉后調(diào)用
服務(wù)端例子(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);運行結(jié)果
客戶端
服務(wù)端
名詞解釋握手: 一般創(chuàng)建WebSocket鏈接, 需要通過瀏覽器發(fā)出請求,服務(wù)器做出回應(yīng), 這個過程稱為“握手”
參考鏈接WebSocket協(xié)議:5分鐘從入門到精通
MDN
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/101841.html
摘要:不過永久幀的技術(shù)會導(dǎo)致主頁面的加載條始終處于狀態(tài),體驗很差。同時,規(guī)范允許服務(wù)端指定自定義事件,客戶端偵聽該事件即可。 服務(wù)端推 服務(wù)端推,指的是由服務(wù)器主動的向客戶端發(fā)送消息(響應(yīng))。在應(yīng)用層的HTTP協(xié)議實現(xiàn)中,請求-響應(yīng)是一個round trip,它的起點來自客戶端,因此在應(yīng)用層之上無法實現(xiàn)簡易的服務(wù)端推功能。當(dāng)前解決服務(wù)端推送的方案有這幾個: 客戶端長輪訓(xùn) websocket...
摘要:接口用于接收服務(wù)器發(fā)送的事件。因此,是目前來說最佳的選擇。最大特點就是,服務(wù)器可以主動向客戶端推送消息,客戶端也可以主動向服務(wù)器發(fā)送信息,是一種不受限的全雙工通信。若是,則交給的回調(diào)函數(shù)處理,否則,還是走正常的回調(diào)的路子。 使用 WebSocket 的理由 傳統(tǒng)的http協(xié)議有一個根本性的缺陷,那就是請求只能由客戶端向服務(wù)器發(fā)起,服務(wù)器接收到請求后再進行響應(yīng),把數(shù)據(jù)返回給客戶端。也就是...
閱讀 4399·2021-11-18 13:19
閱讀 1225·2021-10-11 10:58
閱讀 3337·2019-08-29 16:39
閱讀 3196·2019-08-26 12:08
閱讀 2116·2019-08-26 11:33
閱讀 2517·2019-08-23 18:30
閱讀 1376·2019-08-23 18:21
閱讀 2575·2019-08-23 18:18