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

Vue 如何使用WebSocket與服務(wù)器建立鏈接 持續(xù)保持通信

這篇具有很好參考價值的文章主要介紹了Vue 如何使用WebSocket與服務(wù)器建立鏈接 持續(xù)保持通信。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

WebSocket

瀏覽器通過JavaScript向服務(wù)器發(fā)出建立WebSocket鏈接的請求,鏈接建立后,客戶端和服務(wù)器端就可以通過TCP鏈接直接交互數(shù)據(jù)。WebSocket鏈接后可以通過send()方法來向服務(wù)器發(fā)送數(shù)據(jù),并通過onnessage事件來接受服務(wù)器返回的數(shù)據(jù)。

創(chuàng)建WebSocket對象

let ws = new WebSocket(server);

WebSocket參考

WebSocket - Web API 接口參考 | MDN文章來源地址http://www.zghlxwxcb.cn/news/detail-800866.html

代碼

<template>
  <el-row class="app-container">
    <el-button type="primary" @click="testSend">主要按鈕</el-button>
  </el-row>
</template>

<script>

export default {
  name: 'Monitoring',
  data() {
    return {
      websocket: null, // WebSocket對象
      reconnectInterval: 3000, // 重連間隔時間(毫秒)
      restartWebsocket: null , // 重啟定時器
      heartbeatInterval: null, // 心跳定時器
    };
  },
  created() {
    if (typeof WebSocket == "undefined") {
      console.log("您的瀏覽器不支持WebSocket");
    } else {
      this.setupWebSocket(); // 創(chuàng)建WebSocket連接
    }
  },
  methods: {
    testSend() { // 測試
      const send = {
        "keywords": "xxx",
        }
      this.sendMessage(JSON.stringify(send));
    },
    // websocket初始化
    setupWebSocket() {
      this.websocket = new WebSocket("ws://xxx"); // 創(chuàng)建WebSocket連接
      this.websocket.onopen = this.onWebSocketOpen; // WebSocket連接打開時的處理函數(shù)
      this.websocket.onmessage = this.onWebSocketMessage; // 收到WebSocket消息時的處理函數(shù)
      this.websocket.onclose = this.onWebSocketClose; // WebSocket連接關(guān)閉時的處理函數(shù)
    },
    closeWebSocket() { // 關(guān)閉
      if (this.websocket) {
        this.websocket.close(); // 關(guān)閉WebSocket連接
      }
    },
    // 開啟 WebSocket;啟動心跳檢測
    onWebSocketOpen() {
      console.log("WebSocket connection is open");
      this.startHeartbeat();
    },
    // 處理從服務(wù)器接收的消息
    onWebSocketMessage(event) {
      if (event.data) {
        const message = JSON.parse(event.data);
        //    根據(jù)業(yè)務(wù)來處理數(shù)據(jù)
        console.log("Message from server ", message);
      }
    },
    // 關(guān)閉 WebSocket;停止心跳檢測
    onWebSocketClose() {
      console.log("WebSocket connection is closed");
      this.stopHeartbeat(); // WebSocket連接關(guān)閉時,停止心跳檢測
      this.restartWebsocket = setTimeout(this.setupWebSocket, this.reconnectInterval); // 在一定時間后重連WebSocket
    },
    // 向服務(wù)器發(fā)送消息
    sendMessage(message) {
      if (this.websocket && this.websocket.readyState === WebSocket.OPEN) {
        this.websocket.send(message); // 發(fā)送消息到WebSocket服務(wù)器
      }
    },
    // 開啟心跳檢測
    startHeartbeat() {
      this.heartbeatInterval = setInterval(() => {
        if (this.websocket && this.websocket.readyState === WebSocket.OPEN) {
          this.websocket.send(); // 發(fā)送心跳消息
        }
      }, 1000); // 每1秒發(fā)送一次心跳
    },
    // 停止心跳檢測
    stopHeartbeat() {
      if (this.heartbeatInterval) {
        clearInterval(this.heartbeatInterval); // 停止心跳檢測定時器
      }
    },
    // 停止重啟檢測
    stopRestartWebsocket() {
      if (this.restartWebsocket) {
        clearInterval(this.restartWebsocket); // 停止心跳檢測定時器
      }
    },
  },
  beforeDestroy() {
    this.stopHeartbeat() // 停止心跳
    this.stopRestartWebsocket() // 停止重啟
    this.closeWebSocket(); // 在組件銷毀前關(guān)閉WebSocket連接
  },
}
</script>

<style scoped>

</style>

到了這里,關(guān)于Vue 如何使用WebSocket與服務(wù)器建立鏈接 持續(xù)保持通信的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 【sqlserver】已成功與服務(wù)器建立鏈接,但是在登錄過程中發(fā)生錯誤。(provider:TCP提供程序,error:0 - 指定的網(wǎng)絡(luò)名不再可用。)

    【sqlserver】已成功與服務(wù)器建立鏈接,但是在登錄過程中發(fā)生錯誤。(provider:TCP提供程序,error:0 - 指定的網(wǎng)絡(luò)名不再可用。)

    配置管理器,mssqlserver的協(xié)議 Named Pipes 啟用,重新sqlserver服務(wù)試一下,我是自己摸索這樣解決的,不行的話,可以看下下面鏈接建議 error:0 - 指定的網(wǎng)絡(luò)名不可用

    2024年01月18日
    瀏覽(22)
  • 如何異地鏈接Pycharm服務(wù)器進(jìn)行遠(yuǎn)程開發(fā)并實現(xiàn)與公司服務(wù)器資源同步

    如何異地鏈接Pycharm服務(wù)器進(jìn)行遠(yuǎn)程開發(fā)并實現(xiàn)與公司服務(wù)器資源同步

    本文主要介紹如何使用Pycharm進(jìn)行遠(yuǎn)程開發(fā),并實現(xiàn)在家遠(yuǎn)程與公司服務(wù)器資源同步。 新版本 Jetbrains 系列開發(fā)IDE( IntelliJ IDEA , PyCharm , GoLand )等都支持遠(yuǎn)程使用服務(wù)器編譯,并且可以 通過SFTP同步本地與服務(wù)器項目代碼 。 這樣做的好處是**我們只要連接上服務(wù)器就能開始

    2024年02月01日
    瀏覽(28)
  • 使用HTTPS模式建立高效爬蟲IP服務(wù)器詳細(xì)步驟

    使用HTTPS模式建立高效爬蟲IP服務(wù)器詳細(xì)步驟

    嘿,各位爬蟲小伙伴們!想要自己建立一個高效的爬蟲IP服務(wù)器嗎?今天我就來分享一個簡單而強(qiáng)大的解決方案——使用HTTPS模式建立工具!本文將為你提供詳細(xì)的操作步驟和代碼示例,讓你快速上手,輕松建立自己的爬蟲IP服務(wù)器! 1、準(zhǔn)備工作 在開始之前,我們需要準(zhǔn)備以

    2024年02月10日
    瀏覽(21)
  • Pycharm使用ssh遠(yuǎn)程鏈接服務(wù)器

    Pycharm使用ssh遠(yuǎn)程鏈接服務(wù)器

    ??哈嘍!本篇文章主要是想記錄一下自己找資料配置 pycharm 使用 ssh的過程,pycharm 相對于 vscode 有一個好處就是斷點調(diào)試比較方便(個人看法) ?但是我沒有掌握如何在 pycharm 中顯示運行服務(wù)器時候產(chǎn)生的圖像,而如果用本機(jī)的 plt 來畫圖是能夠直接看到的,如果你知道請和

    2024年02月03日
    瀏覽(56)
  • MobaXterm的下載及簡單使用(建立 SSH 連接到 Linux 服務(wù)器)

    MobaXterm的下載及簡單使用(建立 SSH 連接到 Linux 服務(wù)器)

    目錄 一、MobaXterm 的下載 二、MobaXterm 的簡單使用(建立 SSH 連接到 Linux 服務(wù)器) 三、會遇到的問題 問題1 問題2 官方下載地址:MobaXterm Xserver with SSH, telnet, RDP, VNC and X11 - Download 1.進(jìn)入首頁后,有家庭版(Home Edition)和專用版(Professional Edition)兩個版本,我們選擇為免費的家

    2024年02月09日
    瀏覽(29)
  • Python使用flask框架與前端建立websocket鏈接,并進(jìn)行數(shù)據(jù)交互

    Python使用flask框架與前端建立websocket鏈接,并進(jìn)行數(shù)據(jù)交互

    后端采用的框架為flask,前端用的flask自帶的html編寫,實現(xiàn)的功能為:前后端建立websocket鏈接并進(jìn)行數(shù)據(jù)交互 一、編寫一個flask后端服務(wù) 常規(guī)創(chuàng)建方式就可以,創(chuàng)建一個flask服務(wù)。聲明一個websocket實例,以websocket的方式啟動這個服務(wù)。 安裝相關(guān)依賴: 聲明應(yīng)用和websocket實例

    2024年04月11日
    瀏覽(33)
  • vue3+axios:圖片鏈接轉(zhuǎn)換成二進(jìn)制文件流后并提交服務(wù)器

    vue3+axios:圖片鏈接轉(zhuǎn)換成二進(jìn)制文件流后并提交服務(wù)器

    1、使用Image類創(chuàng)建一個新的圖片。 2、將圖片轉(zhuǎn)換成base64。 3、將base64圖片使用File類轉(zhuǎn)換成二進(jìn)制文件流 4、將二進(jìn)制文件流使用 FormData類轉(zhuǎn)換成binary類型提交服務(wù)器。 Image類創(chuàng)建一個新的圖片 圖片轉(zhuǎn)換成base64 base64轉(zhuǎn)換成二進(jìn)制文件流 二進(jìn)制流文件提交到服務(wù)器

    2024年02月15日
    瀏覽(25)
  • SQL Server數(shù)據(jù)庫如何添加Oracle鏈接服務(wù)器(Windows系統(tǒng))

    SQL Server數(shù)據(jù)庫如何添加Oracle鏈接服務(wù)器(Windows系統(tǒng))

    官方下載地址:https://www.oracle.com/technetwork/topics/dotnet/downloads/odacdeploy-4242173.html 1.2.1 下載的壓縮包解壓位置 ??比如我直接放到D盤根目錄 1.2.2 接著用管理員運行Cmd 此處一定要用管理員運行,否則會報錯 使用管理員打開終端,運行如下命令: 在系統(tǒng)環(huán)境變量中,為Path添加“

    2024年02月14日
    瀏覽(106)
  • 使用node簡單搭建websocket服務(wù)器

    我們都知道,http協(xié)議通信只能由客戶端發(fā)起,然后服務(wù)端再做出響應(yīng);但是websocket協(xié)議最大的特點是服務(wù)端可以主動向客戶端推送消息,客戶端也可以主動向服務(wù)器發(fā)送消息 往常實現(xiàn)雙向通信的方法主要是 輪詢, 客戶端通過定時器,每隔一段時間就會主動發(fā)送請求給服務(wù)器

    2024年02月05日
    瀏覽(26)
  • vue項目訪問服務(wù)器時:WebSocket connection to ‘wss://XXXX/‘的解決方法

    vue項目訪問服務(wù)器時:WebSocket connection to ‘wss://XXXX/‘的解決方法

    關(guān)于WebSocke的介紹:新手入門:websocket 簡單來說,WebSocket 為web應(yīng)用程序客戶端和服務(wù)端之間(客戶端服務(wù)端)提供了一種全雙工通信機(jī)制,報錯是因為發(fā)送報文的過程出現(xiàn)問題。 我的報錯如下: 程序可以正常運行使用,但一直打印報錯太難受了,問了一下同事,也查了一下

    2024年02月11日
    瀏覽(24)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包