欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

實(shí)時通信Socket?io的使用示例詳解

 更新時間:2022年11月13日 16:52:29   作者:故友  
這篇文章主要為大家介紹了實(shí)時通信Socket?io的使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

最近在工作中,遇到了一個需求,需要和后臺服務(wù)實(shí)時通信,獲取各種設(shè)備的實(shí)時狀態(tài)、以及對設(shè)備下發(fā)指令。后端這邊選擇了socket.io這個庫,前端這邊配合也只能使用這個,它的使用方式跟websocket很類似,為此簡單記錄一下socket.io的使用,希望幫助到有需要的人。

1、什么是socket.io

Socket.IO 是一個庫,可以在客戶端和服務(wù)器之間實(shí)現(xiàn) 低延遲, 雙向 和 基于事件的 通信。

它建立在 WebSocket 協(xié)議之上,并提供額外的保證,例如回退到 HTTP 長輪詢或自動重新連接。

2、socket.io的使用

1、安裝引入

npm install socket.io-client
import { io } from "socket.io-client";

2、初始化

const socket = io("https://server-domain.com");

3、使用

socket鏈接成功以后,我們繼續(xù)接下來的操作,了解各個事件的使用。

    socket.on("connect", () => {
        //監(jiān)聽連接是否成功
        console.log("鏈接成功");
      });
      socket.on("disconnect", (reason) => {
        //監(jiān)聽連接異常中斷
        console.log("中斷", reason);
      });
      socket.on("message_event", (data) => {
      console.log("接收到的消息", data);
      })
     // 此處需要注意的是on是一個監(jiān)聽事件,監(jiān)聽的message_event是和后臺約定好的事件名。
     前端主動斷開鏈接
     socket.close()或者 socket.disconnect()

4、消息的發(fā)送

    // 發(fā)送消息
    sendMessage(msgType, msgContent) {
      var jsonObject = { msgType: msgType, msgContent: msgContent };
      socket.emit("send_event", jsonObject);
    },
    //前端這邊通過emit發(fā)送消息,這里的send_event也是跟后端人員約定好的事件。

3、客戶端自帶事件

除了上面介紹的幾個主要事件外、還有一些其他事件

  • connect:連接成功
  • connecting:正在連接
  • disconnect:斷開連接
  • connect_failed:連接失敗
  • error:錯誤發(fā)生,并且無法被其他事件類型所處理
  • reconnect_failed:重連失敗
  • reconnect:成功重連
  • reconnecting:正在重連

4、版本問題

socket.io分為客戶端和服務(wù)器端,在選擇使用的時候,一定要注意相關(guān)版本的選擇要對應(yīng),要不然就會出現(xiàn)各種奇怪的問題,我當(dāng)時做的時候沒注意這一塊,就耽誤了一些時間。。。

相關(guān)版本兼容性如下表所示!

以上就是實(shí)時通信Socket io的使用示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Socket io實(shí)時通信的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • vue中watch的實(shí)際開發(fā)學(xué)習(xí)筆記

    vue中watch的實(shí)際開發(fā)學(xué)習(xí)筆記

    watch是Vue實(shí)例的一個屬性是用來響應(yīng)數(shù)據(jù)的變化,需要在數(shù)據(jù)變化時執(zhí)行異步或開銷較大的操作時,這個方式是最有用的,下面這篇文章主要給大家介紹了關(guān)于vue中watch的實(shí)際開發(fā)筆記,需要的朋友可以參考下
    2022-11-11
  • Vue?+?Element?實(shí)現(xiàn)按鈕指定間隔時間點(diǎn)擊思路詳解

    Vue?+?Element?實(shí)現(xiàn)按鈕指定間隔時間點(diǎn)擊思路詳解

    這篇文章主要介紹了Vue?+?Element?實(shí)現(xiàn)按鈕指定間隔時間點(diǎn)擊,實(shí)現(xiàn)思路大概是通過加一個本地緩存的時間戳,通過時間戳計(jì)算指定時間內(nèi)不能點(diǎn)擊按鈕,具體實(shí)現(xiàn)代碼跟隨小編一起看看吧
    2023-12-12
  • elementUI中Table表格問題的解決方法

    elementUI中Table表格問題的解決方法

    這篇文章主要給大家介紹了關(guān)于elementUI中Table表格問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • 微信jssdk邏輯在vue中的運(yùn)用詳解

    微信jssdk邏輯在vue中的運(yùn)用詳解

    這篇文章主要介紹了微信jssdk邏輯在vue中的運(yùn)用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • Vue動態(tài)獲取width的方法

    Vue動態(tài)獲取width的方法

    今天小編就為大家分享一篇Vue動態(tài)獲取width的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • Vue 框架之動態(tài)綁定 css 樣式實(shí)例分析

    Vue 框架之動態(tài)綁定 css 樣式實(shí)例分析

    這篇文章主要介紹了Vue 框架之動態(tài)綁定 css 樣式的方法,本文通過分享小實(shí)例給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • 基于vue打包后字體和圖片資源失效問題的解決方法

    基于vue打包后字體和圖片資源失效問題的解決方法

    下面小編就為大家分享一篇基于vue打包后字體和圖片資源失效問題的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Antd form表單的使用、設(shè)值、取值、清空值方式

    Antd form表單的使用、設(shè)值、取值、清空值方式

    這篇文章主要介紹了Antd form表單的使用、設(shè)值、取值、清空值方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 解決vue addRoutes不生效問題

    解決vue addRoutes不生效問題

    這篇文章主要介紹了解決vue addRoutes不生效問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • vue中如何給el-table-column添加指定列的點(diǎn)擊事件

    vue中如何給el-table-column添加指定列的點(diǎn)擊事件

    elementui中提供了點(diǎn)擊行處理事件,下面這篇文章主要給大家介紹了關(guān)于vue中如何給el-table-column添加指定列的點(diǎn)擊事件,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11

最新評論