国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

為什么需要websocket?

這篇具有很好參考價(jià)值的文章主要介紹了為什么需要websocket?。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、為什么需要websocket?

  前端和后端的交互模式最常見的就是前端發(fā)數(shù)據(jù)請求,從后端拿到數(shù)據(jù)后展示到頁面中。如果前端不做操作,后端不能主動(dòng)向前端推送數(shù)據(jù),這也是http協(xié)議的缺陷。

? ? ? ?因此,一種新的通信協(xié)議應(yīng)運(yùn)而生---websocket,他最大的特點(diǎn)就是服務(wù)端可以主動(dòng)向客戶端推送消息,客戶端也可以主動(dòng)向服務(wù)端發(fā)送消息,實(shí)現(xiàn)了真正的平等。

為什么需要websocket?,websocket,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)?

websocket其他特點(diǎn)如下:

(1)建立在 TCP 協(xié)議之上,服務(wù)器端的實(shí)現(xiàn)比較容易。

(2)與 HTTP 協(xié)議有著良好的兼容性。默認(rèn)端口也是80和443,并且握手階段采用 HTTP 協(xié)議,因此握手時(shí)不容易屏蔽,能通過各種 HTTP 代理服務(wù)器。

(3)數(shù)據(jù)格式比較輕量,性能開銷小,通信高效。

(4)可以發(fā)送文本,也可以發(fā)送二進(jìn)制數(shù)據(jù)。

(5)沒有同源限制,客戶端可以與任意服務(wù)器通信。

(6)協(xié)議標(biāo)識符是ws(如果加密,則為wss),服務(wù)器網(wǎng)址就是 URL。

二、vue項(xiàng)目如何引用websocket?

vue使用websocket需要注意以下幾點(diǎn):

(1)首先需要判斷瀏覽器是否支持websocket,關(guān)于如何解決兼容性問題可以參考?這里這里

為什么需要websocket?,websocket,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)?

(2)在組件加載的時(shí)候連接websocket,在組件銷毀的時(shí)候斷開websocket

(3)后端接口需要引入socket模塊,否則不能實(shí)現(xiàn)連接

完整代碼:?

<template>
    <div>
        <button @click="send('你要發(fā)送的數(shù)據(jù)')">發(fā)消息</button>
    </div>
</template>
 
<script>
export default {
    data () {
        return {
            path:"ws://192.168.0.200:8005/qrCodePage/ID=1/refreshTime=5",
            socket:""
        }
    },
    mounted () {
        // 初始化
        this.init()
    },
    methods: {
        init: function () {
            if(typeof(WebSocket) === "undefined"){
                alert("您的瀏覽器不支持socket")
            }else{
                // 實(shí)例化socket
                this.socket = new WebSocket(this.path)
                // 監(jiān)聽socket連接
                this.socket.onopen = this.open
                // 監(jiān)聽socket錯(cuò)誤信息
                this.socket.onerror = this.error
                // 監(jiān)聽socket消息
                this.socket.onmessage = this.getMessage
            }
        },
        open: function () {
            console.log("socket連接成功")
        },
        error: function () {
            console.log("連接錯(cuò)誤")
        },
        getMessage: function (msg) {
            console.log(msg.data)
        },
        // 發(fā)送消息給被連接的服務(wù)端
        send: function (params) {
            this.socket.send(params)
        },
        close: function () {
            console.log("socket已經(jīng)關(guān)閉")
        }
    },
    destroyed () {
        // 銷毀監(jiān)聽
        this.socket.onclose = this.close
    }
}
</script>
 
<style>
 
</style>

?文章來源地址http://www.zghlxwxcb.cn/news/detail-664181.html

?

?

到了這里,關(guān)于為什么需要websocket?的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 為什么需要數(shù)據(jù)倉庫

    為什么不在OLTP環(huán)境下分析?? OLTP環(huán)境也會(huì)存儲(chǔ)歷史數(shù)據(jù),但這些歷史數(shù)據(jù)并不是業(yè)務(wù)運(yùn)行所需的,這些歷史數(shù)據(jù)需要經(jīng)常歸檔到數(shù)據(jù)倉庫,并且在OLTP數(shù)據(jù)庫中刪除。 相比之下,事務(wù)環(huán)境適用于連續(xù)處理事務(wù),通常應(yīng)用于訂單錄入以及財(cái)務(wù)和零售事務(wù)。它們并不依賴歷史數(shù)據(jù)

    2024年01月25日
    瀏覽(32)
  • 為什么需要單元測試?

    為什么需要單元測試?

    為什么需要單元測試? 從產(chǎn)品角度而言,常規(guī)的功能測試、系統(tǒng)測試都是站在產(chǎn)品局部或全局功能進(jìn)行測試,能夠很好地與用戶的需要相結(jié)合,但是缺乏了對產(chǎn)品研發(fā)細(xì)節(jié)(特別是代碼細(xì)節(jié)的理解)。 從測試人員角度而言,功能測試和系統(tǒng)測試以及其他性能測試等等對測試

    2024年02月12日
    瀏覽(34)
  • 為什么需要uboot?

    bootROM: 一種固化在芯片內(nèi)部的只讀存儲(chǔ)器(ROM),用于啟動(dòng)和初始化系統(tǒng)。BootROM 中通常包含了一些預(yù)先編寫好的代碼,用于完成系統(tǒng)啟動(dòng)前的基本初始化和配置, 例如初始化時(shí)鐘、GPIO控制器、中斷控制器、存儲(chǔ)設(shè)備(SD卡、NAND Flash、SPicy Flash)等硬件資源, 檢測啟動(dòng)設(shè)備

    2023年04月23日
    瀏覽(21)
  • 為什么需要超時(shí)控制

    本文將介紹為什么需要超時(shí)控制,然后詳細(xì)介紹Go語言中實(shí)現(xiàn)超時(shí)控制的方法。其中,我們將討論 time 包和 context 包實(shí)現(xiàn)超時(shí)控制的具體方式,并說明兩者的適用場景,以便在程序中以更合適的方式來實(shí)現(xiàn)超時(shí)控制,提高程序的穩(wěn)定性和可靠性。 超時(shí)控制可以幫助我們避免程

    2024年02月03日
    瀏覽(27)
  • 為什么CPU需要時(shí)鐘

    為什么CPU需要時(shí)鐘

    為什么CPU需要時(shí)鐘這樣一個(gè)概念? 什么是時(shí)鐘脈沖,CPU為什么需要時(shí)鐘,時(shí)鐘信號是怎么產(chǎn)生的? 上面這個(gè)圖的方波就是一個(gè)脈沖,類比于人類的脈搏跳動(dòng)。一個(gè)脈沖稱之為CPU的一個(gè) 時(shí)鐘信號 ,或者 時(shí)鐘脈沖 。一個(gè)脈沖周期就叫CPU時(shí)鐘周期,一個(gè)時(shí)鐘周期內(nèi)時(shí)鐘信號震蕩一

    2023年04月11日
    瀏覽(21)
  • 為什么自動(dòng)駕駛需要5G?

    為什么自動(dòng)駕駛需要5G?

    什么叫自動(dòng)駕駛? 自動(dòng)駕駛分為6個(gè)等級: Level 0: 人工駕駛,無駕駛輔助系統(tǒng),僅提醒。 Level 1: 輔助人工駕駛,可實(shí)現(xiàn)單一的車速或轉(zhuǎn)向控制自動(dòng)化,仍由人工駕駛(如定速巡航、ACC)。 Level 2: 部分自動(dòng)駕駛,可實(shí)現(xiàn)車速和轉(zhuǎn)向控制自動(dòng)化,駕駛員必須始終保持監(jiān)控(

    2024年02月08日
    瀏覽(35)
  • 爬蟲時(shí)為什么需要代理?

    我們都知道爬蟲時(shí)是需要代理地址介入的。使用代理可以隱藏你的真實(shí)IP地址,防止被網(wǎng)站封禁或限制訪問。此外,代理還可以幫助你繞過地理限制,訪問被封鎖的網(wǎng)站或服務(wù)。但是請注意,使用代理也可能會(huì)帶來一些風(fēng)險(xiǎn),例如代理服務(wù)器可能會(huì)記錄你的訪問數(shù)據(jù),或者代

    2024年02月06日
    瀏覽(25)
  • 爬蟲為什么需要ip

    爬蟲為什么需要ip

    爬蟲需要使用爬蟲ip主要是為了解決以下問題: 1、反爬蟲機(jī)制:許多網(wǎng)站會(huì)設(shè)置反爬蟲機(jī)制來防止爬蟲程序的訪問,例如限制IP地址的訪問頻率、檢測訪問來源等。使用爬蟲ip可以繞過這些限制,使得爬蟲程序更難被檢測到。 2、訪問限制:有些網(wǎng)站可能會(huì)對某些地區(qū)的IP地址

    2024年02月02日
    瀏覽(27)
  • 為什么需要對相機(jī)標(biāo)定?

    為什么需要對相機(jī)標(biāo)定?

    以下內(nèi)容來自系統(tǒng)教程如何搞定單目/魚眼/雙目/陣列 相機(jī)標(biāo)定? 點(diǎn)擊領(lǐng)取相機(jī)標(biāo)定資料和代碼 為什么需要對相機(jī)標(biāo)定? 我們所處的世界是三維的,而相機(jī)拍攝的照片卻是二維的,丟失了其中距離/深度的信息。從數(shù)學(xué)上可以簡單理解為,相機(jī)本身類似一個(gè)映射函數(shù),其將輸

    2024年02月06日
    瀏覽(26)
  • 什么是分庫分表?為什么需要分表?什么時(shí)候分庫分表

    什么是分庫分表?為什么需要分表?什么時(shí)候分庫分表

    不急于上手實(shí)戰(zhàn)? ShardingSphere ?框架,先來復(fù)習(xí)下分庫分表的基礎(chǔ)概念,技術(shù)名詞大多晦澀難懂,不要死記硬背理解最重要,當(dāng)你捅破那層窗戶紙,發(fā)現(xiàn)其實(shí)它也就那么回事。 分庫分表是在海量數(shù)據(jù)下,由于單庫、表數(shù)據(jù)量過大,導(dǎo)致數(shù)據(jù)庫性能持續(xù)下降的問題,演變出的技

    2023年04月26日
    瀏覽(53)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包