最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue項目使用websocket技術(shù)解讀

 更新時間:2025年12月16日 15:55:22   作者:鳳凰城下的小碼農(nóng)  
文章介紹了WebSocket的出現(xiàn)背景、特點以及在Vue項目中的應(yīng)用方法,WebSocket是一種在單個TCP連接上進(jìn)行全雙工通信的協(xié)議,適合實時通信場景,在Vue項目中使用WebSocket時,需要注意瀏覽器兼容性、連接與斷開時機(jī)以及后端接口的配置

一、為什么需要websocket?

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

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

websocket其他特點如下:

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

(2)與 HTTP 協(xié)議有著良好的兼容性。默認(rèn)端口也是80和443,并且握手階段采用 HTTP 協(xié)議,因此握手時不容易屏蔽,能通過各種 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項目如何引用websocket?

vue使用websocket需要注意以下幾點:

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

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

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

不廢話了,直接附上完整代碼:

<template>
    <div>
        <button @click="send">發(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{
                // 實例化socket
                this.socket = new WebSocket(this.path)
                // 監(jiān)聽socket連接
                this.socket.onopen = this.open
                // 監(jiān)聽socket錯誤信息
                this.socket.onerror = this.error
                // 監(jiān)聽socket消息
                this.socket.onmessage = this.getMessage
            }
        },
        open: function () {
            console.log("socket連接成功")
        },
        error: function () {
            console.log("連接錯誤")
        },
        getMessage: function (msg) {
            console.log(msg.data)
        },
        send: function () {
            this.socket.send(params)
        },
        close: function () {
            console.log("socket已經(jīng)關(guān)閉")
        }
    },
    destroyed () {
        // 銷毀監(jiān)聽
        this.socket.onclose = this.close
    }
}
</script>

<style>

</style>

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue2和vue3中provide/inject的基本用法示例

    vue2和vue3中provide/inject的基本用法示例

    Vue中的provide/inject是一種組件間通信的方式,它允許父組件向子組件傳遞數(shù)據(jù),而不需要通過props或事件來實現(xiàn),下面這篇文章主要給大家介紹了關(guān)于vue2/vue3中provide/inject的基本用法的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • Vue?2?和?Vue?3?中?toRefs函數(shù)的不用用法

    Vue?2?和?Vue?3?中?toRefs函數(shù)的不用用法

    Vue?是一款流行的JavaScript?框架,用于構(gòu)建用戶界面,在Vue2和?Vue3中,都存在一個名為toRefs的函數(shù),但其行為在這兩個版本中有所不同,這篇文章主要介紹了Vue2和Vue3中toRefs的區(qū)別,需要的朋友可以參考下
    2023-08-08
  • Vue3中reactive函數(shù)toRef函數(shù)ref函數(shù)簡介

    Vue3中reactive函數(shù)toRef函數(shù)ref函數(shù)簡介

    這篇文章主要介紹了Vue3中的三種函數(shù),分別對reactive函數(shù)toRef函數(shù)以及ref函數(shù)原理及使用作了簡單介紹,有需要的朋友可以借鑒參考下
    2021-09-09
  • Vue3組件中g(shù)etCurrentInstance()獲取App實例,但是返回null的解決方案

    Vue3組件中g(shù)etCurrentInstance()獲取App實例,但是返回null的解決方案

    這篇文章主要介紹了Vue3組件中g(shù)etCurrentInstance()獲取App實例,但是返回null的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • 深入淺析vue-cli@3.0 使用及配置說明

    深入淺析vue-cli@3.0 使用及配置說明

    這篇文章主要介紹了vue-cli@3.0 使用及配置說明,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05
  • vue中的vue-router?query方式和params方式詳解

    vue中的vue-router?query方式和params方式詳解

    這篇文章主要介紹了vue中的vue-router?query方式和params方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Vue使用vxe-table導(dǎo)出和自定義Excel樣式的詳細(xì)教程

    Vue使用vxe-table導(dǎo)出和自定義Excel樣式的詳細(xì)教程

    vxe-table 不僅支持將表格數(shù)據(jù)導(dǎo)出為 .xlsx 文件,還提供了強(qiáng)大的自定義樣式能力,因此本文給大家介紹了Vue使用vxe-table導(dǎo)出和自定義Excel樣式的詳細(xì)教程,需要的朋友可以參考下
    2026-05-05
  • element?el-select下拉框選擇失效解決辦法

    element?el-select下拉框選擇失效解決辦法

    el-select即選擇器用于從若干個候選項中選擇其中一個(或者多個),在傳統(tǒng)網(wǎng)頁開發(fā)中選擇器經(jīng)常被稱作下拉框、下拉列表是最常用的表單元素之一,這篇文章主要給大家介紹了關(guān)于element?el-select下拉框選擇失效解決辦法,需要的朋友可以參考下
    2023-08-08
  • Vue組件模板及組件互相引用代碼實例

    Vue組件模板及組件互相引用代碼實例

    這篇文章主要介紹了Vue組件模板及組件互相引用代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • vue.js實現(xiàn)簡單的計算器功能

    vue.js實現(xiàn)簡單的計算器功能

    這篇文章主要為大家詳細(xì)介紹了vue.js實現(xiàn)簡單的計算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02

最新評論

丹东市| 兖州市| 上犹县| 永胜县| 德兴市| 奎屯市| 长宁区| 六枝特区| 确山县| 闻喜县| 永丰县| 郑州市| 顺义区| 都安| 玉树县| 辽中县| 手游| 舒城县| 汾西县| 兴隆县| 莎车县| 佛教| 青神县| 磐安县| 朝阳区| 岳阳市| 邵阳市| 大名县| 宁远县| 香港| 启东市| 柯坪县| 贵阳市| 西乌珠穆沁旗| 永泰县| 山阳县| 雷州市| 南江县| 淅川县| 威信县| 河间市|