日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

WebSocket使用以及在vue如何使用問題

瀏覽:291日期:2022-06-10 08:02:28
目錄
  • WebSocket
  • WebSocket 實例
  • socket.io 簡介
  • 客戶端 api
  • 總結

WebSocket

WebSocket 是 HTML5 開始提供的一種在單個 TCP 連接上進行全雙工通訊的協議。

WebSocket 使得客戶端和服務器之間的數據交換變得更加簡單,允許服務端主動向客戶端推送數據。在 WebSocket API 中,瀏覽器和服務器只需要完成一次握手,兩者之間就直接可以創建持久性的連接,并進行雙向數據傳輸

在 WebSocket API 中,瀏覽器和服務器只需要做一個握手的動作,然后,瀏覽器和服務器之間就形成了一條快速通道。兩者之間就直接可以數據互相傳送。

現在,很多網站為了實現推送技術,所用的技術都是 Ajax 輪詢。輪詢是在特定的的時間間隔(如每 1 秒),由瀏覽器對服務器發出 HTTP 請求,然后由服務器返回最新的數據給客戶端的瀏覽器。

這種傳統的模式帶來很明顯的缺點,即瀏覽器需要不斷的向服務器發出請求,然而 HTTP 請求可能包含較長的頭部,其中真正有效的數據可能只是很小的一部分,顯然這樣會浪費很多的帶寬等資源。

HTML5 定義的 WebSocket 協議,能更好的節省服務器資源和帶寬,并且能夠更實時地進行通訊。

瀏覽器通過 JavaScript 向服務器發出建立 WebSocket 連接的請求,連接建立以后,客戶端和服務器端就可以通過 TCP 連接直接交換數據

當你獲取 Web Socket 連接后,你可以通過 send() 方法來向服務器發送數據,并通過 onmessage 事件來接收服務器返回的數據。

WebSocket 實例

WebSocket 協議本質上是一個基于 TCP 的協議。

為了建立一個 WebSocket 連接,客戶端瀏覽器首先要向服務器發起一個 HTTP 請求,這個請求和通常的 HTTP 請求不同,包含了一些附加頭信息,其中附加頭信息"Upgrade: WebSocket"表明這是一個申請協議升級的 HTTP 請求,服務器端解析這些附加的頭信息然后產生應答信息返回給客戶端,客戶端和服務器端的 WebSocket 連接就建立起來了,雙方就可以通過這個連接通道自由的傳遞信息,并且這個連接會持續存在直到客戶端或者服務器端的某一方主動的關閉連接

<!DOCTYPE html><html>    <head><meta charset="utf-8" /><title>菜鳥教程(runoob.com)</title><script type="text/javascript">    function WebSocketTest() {if ("WebSocket" in window) {    alert("您的瀏覽器支持 WebSocket!")    // 打開一個 web socket    var ws = new WebSocket("ws://localhost:9998/echo")    ws.onopen = function () {// Web Socket 已連接上,使用 send() 方法發送數據ws.send("發送數據")alert("數據發送中...")    }    ws.onmessage = function (evt) {var received_msg = evt.dataalert("數據已接收...")    }    ws.onclose = function () {// 關閉 websocketalert("連接已關閉...")    }} else {    // 瀏覽器不支持 WebSocket    alert("您的瀏覽器不支持 WebSocket!")}    }</script>    </head>    <body><div id="sse">    <a href="javascript:WebSocketTest()" rel="external nofollow" >運行 WebSocket</a></div>    </body></html>

socket.io 簡介

socket.io 是一個類庫,內部封裝了 WebSocket,可以在瀏覽器與服務器之間建立實時通信。

如果某些舊版本的瀏覽器不支持 WebSocket,socket.io 會使用輪詢代替。另外它還具有可發送二進制消息、多路復用、創建房間等特性,因此相比直接使用原生 WebSocket,socket.io 是更好的選擇。

開發一個實時應用主要分兩部分:服務端和客戶端,socket.io 分別提供了相應的 npm 包供我們方便地調用。

接下來就通過一個生動形象且有趣的栗子分別介紹這兩大塊。

現在假設李白張三,李四,王五 3 個人加入了一個叫 棋牌室 的房間,在文章結束時我們將擁有一個麻雀雖小五臟俱全的峽谷英雄在線聊天室。

客戶端 api

npm i socket.io-client  //安裝socket.io 為客戶端提供的npm包

接下來就可以在頁面上建立到服務器的連接了

import io from "socket.io-client"const socket = io("http://127.0.0.1:3001") // 建立連接

向服務器發送消息

const socket = io("http://127.0.0.1:3001")socket.emit("talk", "打快點啊,天都要黑了")

接收服務器發來的信息

const socket = io("http://127.0.0.1:3001")socket.on("talk", (data) => {    console.log(data) //打印data})

李白看到了瑤的消息,強忍住問候對方家人的沖動,像哄那啥似地說道:

const socket = io("http://127.0.0.1:3001")socket.on("talk", (data) => {    socket.emit("talk", "你這么敢干啥!")})

客戶端的功能到這基本上也開發完了。

核心 api 就是 on 和 emit 用于收發消息,既簡單又優雅

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持。

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久影院资源站| 日韩免费小视频| 99精品视频在线| 91精品一区国产高清在线gif | 精品一区视频| 欧美影院三区| 91精品国产一区二区在线观看| 超级白嫩亚洲国产第一| 先锋影音久久久| 欧美日韩精品一区二区三区在线观看| 99香蕉国产精品偷在线观看| 国产精选久久| japanese国产精品| 91午夜精品| 国产一区二区三区四区五区| 日韩电影免费在线观看| 亚洲一区二区av| 午夜av成人| 国产精品videossex| 在线观看免费一区二区| 欧美激情 亚洲a∨综合| 久久国产日韩欧美精品| 亚洲午夜天堂| 国产日韩欧美三级| 美日韩精品视频| 国产视频一区在线观看一区免费| 蜜臀91精品一区二区三区| 欧美aa一级| 欧美国产专区| 在线午夜精品| 国户精品久久久久久久久久久不卡 | 夜夜嗨av一区二区三区网站四季av| 亚洲综合精品| 香蕉久久99| 欧美亚洲国产激情| 久久精品人人| 国产亚洲网站| 久久美女精品| 91亚洲国产| 久久精品国产亚洲aⅴ | 一区二区三区国产在线| 另类中文字幕国产精品| 日本欧美一区二区| 欧美国产专区| 日本不卡在线视频| 麻豆视频在线观看免费网站黄| 综合视频一区| 久久天堂成人| 日韩精品电影| 国产成人1区| 日韩av黄色在线| 亚洲五月综合| 久久精品av麻豆的观看方式| 中文字幕一区二区三区在线视频| 日韩国产网站| 免费视频一区二区三区在线观看 | 日韩大片在线| 国产66精品| 久久久蜜桃一区二区人| 久久精品国产99国产精品| 国产精品激情| 夜夜嗨网站十八久久 | 亚洲精品永久免费视频| 91亚洲国产成人久久精品| 亚洲欧洲午夜| 欧美成人午夜| 亚洲女人av| 91精品福利| 99精品美女| 亚洲第一区色| 亚洲黄色中文字幕| 欧美日本一区| 久久久精品国产**网站| 国产日韩欧美| 1024精品一区二区三区| 国产一区观看| 免费在线成人网| 国内精品伊人| 日韩精品视频一区二区三区| 成人在线超碰| 在线日韩一区| 久久人人99| 国产欧美一区二区色老头| 国产精品大片免费观看| 日韩av黄色在线| 中文亚洲免费| 亚洲神马久久| 亚洲人www| 久久一区国产| 国产一二在线播放| 国产a亚洲精品| 91成人精品| 一级欧洲+日本+国产| 麻豆视频在线观看免费网站黄| 国内精品福利| 中文无码日韩欧| 精品一区二区三区中文字幕在线| 另类中文字幕国产精品| 精品久久久中文字幕| 五月婷婷六月综合| 日韩精品三级| 久久精品国产大片免费观看| 亚洲深深色噜噜狠狠爱网站| 欧美激情三区| 日韩中文av| 国产色播av在线| 日韩一区二区三区在线看| 免费视频一区二区| 色一区二区三区四区| 喷白浆一区二区| 亚洲精品在线二区| 色一区二区三区| 蜜臀久久99精品久久久画质超高清 | 日韩一区二区三区免费播放| 亚洲一区中文| 九九久久电影| 国产精品22p| 91久久在线| 激情视频一区二区三区| 国产乱人伦精品一区| 午夜日韩在线| 婷婷成人基地| 精品伊人久久| 欧美成人精品三级网站| 国产91久久精品一区二区| 国产欧美日韩免费观看| 91精品日本| 日本亚洲欧洲无免费码在线| 日韩在线观看| 久久九九精品| 免费精品一区| 欧美日韩调教| 国产婷婷精品| 黄色在线网站噜噜噜| 欧美亚洲自偷自偷| 久久黄色影院| av亚洲在线观看| 日韩av自拍| 久久久噜噜噜| 久草精品视频| 99pao成人国产永久免费视频| 蜜臀国产一区二区三区在线播放| 日韩欧美字幕| 91在线成人| 亚洲一级大片| 一区二区自拍| 国产综合色产| 香蕉成人av| 国产v日韩v欧美v| 国产精品亲子伦av一区二区三区| av在线资源| 久久中文字幕一区二区三区| 在线综合亚洲| 亚洲少妇在线| 成人av二区| 日韩中出av| 91精品国产乱码久久久久久久| 精品丝袜久久| 91成人超碰| jiujiure精品视频播放| 国产精一区二区| 久久久久蜜桃| 日韩毛片在线| 日本一区二区中文字幕| 99在线|亚洲一区二区| 久久久人人人| 综合国产精品| 日韩精品一级中文字幕精品视频免费观看 | 国产福利片在线观看| zzzwww在线看片免费| 手机在线电影一区| 国产suv精品一区二区四区视频| av在线日韩| 国产91久久精品一区二区| 欧美交a欧美精品喷水| 亚洲va中文在线播放免费| 国产不卡人人| 日本伊人久久| 波多视频一区| 精品丝袜在线| 日韩1区2区3区| 天堂成人免费av电影一区| 中文精品电影| 精品视频一区二区三区四区五区| 久久久免费人体| 91日韩免费| 婷婷精品在线观看| 青青草伊人久久| 欧美国产极品| 亚洲一区二区三区高清| 色综合视频一区二区三区日韩| 激情欧美丁香| 亚洲1区在线观看| 久久不卡国产精品一区二区| 日韩毛片视频| 国产美女精品| 亚洲欧美日韩国产| 四虎国产精品免费观看| 91精品一区二区三区综合| 福利一区二区|