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

vue3.2最新語法使用socket.io實(shí)現(xiàn)即時(shí)通訊詳解

 更新時(shí)間:2023年06月20日 11:17:03   作者:風(fēng)中凌亂的男子  
這篇文章主要為大家介紹了vue3.2最新語法使用socket.io實(shí)現(xiàn)即時(shí)通訊詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

socket.io

socket.io是即時(shí)通訊必需的插件,要和后端配合使用socket.io才可以,前端使用【socket.io-client】,旨在讓你少走彎路~

先安裝【socket.io-client】

yarn add socket.io-client -S

安裝后再新建ts,以插件形式引入

在utils文件夾下新建socket.ts

代碼如下

// 新建ts 以插件形式引入
import io from 'socket.io-client';
export default {
  install: (app: any, { connection, options }) => {
    const socket = io(connection, options);
    app.config.globalProperties.$socket = socket;
    app.provide('socket', socket);
  },
};

在main.ts引入socket.ts

import SocketIO from '/@/utils/socket';
// socket
// 配置
const socketOptions = {
  autoConnect: true, // 自動(dòng)連接
  transports: ['websocket'], // 指定為websocket連接
  reconnect: true,
  reconnectionAttempts: 5, // 重連次數(shù)
};
app.use(SocketIO, {
  connection: 'wss://yyds.it98k.cn',
  options: socketOptions,
});

鏈接上socket 執(zhí)行登錄方法

一般鏈接上socket要執(zhí)行一個(gè)登錄方法,這個(gè)方法一般就調(diào)用一次,所以要選擇在合適的位置,也就是在剛登陸后立馬就要調(diào)用,vue2的時(shí)候在vuex里getInfo接口里執(zhí)行登錄操作,但是在vue3中this指向比較難搞,又是使用的pinia,就不太好弄了,故我們選擇在App.vue里執(zhí)行登錄方法

App.vue代碼如下

項(xiàng)目使用的【pinia

<script setup lang="ts">
  /** 執(zhí)行socketio登錄 看不懂的加我v 1115009958 交流*/
  import { computed } from 'vue';
  import { useUserStore } from '/@/store/modules/user';
  const socket: any = inject('socket');
  const userStore = useUserStore();
  const getUserInfo = computed(() => {
    const { info } = userStore.$state;
    return info;
  });
  watch(getUserInfo, (newVal) => {
    socket.emit('login', {
      nickname: newVal.nickname,
      _id: newVal._id,
    });
  });
</script>
  • ps:watch監(jiān)聽是確保getUserInfo能讀取到$state中的數(shù)據(jù),再調(diào)用socket.emit('login')方法

觸發(fā)emit、on方法

如果要觸發(fā)emit、on方法,在頁面中這樣做

<script setup lang="ts">
  /** 使用inject通信方法接收socket實(shí)例*/
  const socket: any = inject('socket');
  // 使用on監(jiān)聽事件
  socket.on('message', (res: any) => {
      console.log('接收到的數(shù)據(jù) ', res);
  });
  // 使用emit發(fā)送事件
  socket.emit('sayTo',{ message:"test" });
</script>

以上就是vue3.2最新語法使用socket.io實(shí)現(xiàn)即時(shí)通訊詳解的詳細(xì)內(nèi)容,更多關(guān)于vue3.2 socket.io即時(shí)通訊的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 詳解vuex持久化插件解決瀏覽器刷新數(shù)據(jù)消失問題

    詳解vuex持久化插件解決瀏覽器刷新數(shù)據(jù)消失問題

    這篇文章主要介紹了詳解vuex持久化插件解決瀏覽器刷新數(shù)據(jù)消失問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-04-04
  • Vue中的this.$set()使用方法詳解(一文搞懂)

    Vue中的this.$set()使用方法詳解(一文搞懂)

    this.$set是Vue中的一個(gè)方法,用于在響應(yīng)式對(duì)象上設(shè)置新的屬性或修改已有的屬性,強(qiáng)制刷新并確保這些屬性也是響應(yīng)式的,這篇文章主要介紹了Vue中this.$set()使用方法的相關(guān)資料,需要的朋友可以參考下
    2025-09-09
  • Vue組件中的自定義事件你了解多少

    Vue組件中的自定義事件你了解多少

    這篇文章主要為大家詳細(xì)介紹了Vue組件中的自定義事件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • Vue3中的組合式?API示例詳解

    Vue3中的組合式?API示例詳解

    組合式 API 是一系列 API 的集合,使我們可以使用函數(shù)而不是聲明選項(xiàng)的方式書寫 Vue 組件,這篇文章主要介紹了什么是Vue3的組合式?API,需要的朋友可以參考下
    2022-06-06
  • Vue最新防抖方案(必看篇)

    Vue最新防抖方案(必看篇)

    今天小編就為大家分享一篇Vue最新防抖方案(必看篇),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • vue實(shí)現(xiàn)循環(huán)滾動(dòng)列表

    vue實(shí)現(xiàn)循環(huán)滾動(dòng)列表

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)循環(huán)滾動(dòng)列表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • vue結(jié)合leaflet實(shí)現(xiàn)鷹眼圖

    vue結(jié)合leaflet實(shí)現(xiàn)鷹眼圖

    本文主要介紹了vue結(jié)合leaflet實(shí)現(xiàn)鷹眼圖,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 關(guān)于Vue組件間的常用傳參方式

    關(guān)于Vue組件間的常用傳參方式

    這篇文章主要介紹了關(guān)于Vue組件間的常用傳參方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue引入微信sdk 實(shí)現(xiàn)分享朋友圈獲取地理位置功能

    vue引入微信sdk 實(shí)現(xiàn)分享朋友圈獲取地理位置功能

    這篇文章主要介紹了h5 vue引入微信sdk 實(shí)現(xiàn)分享朋友圈,分享給朋友,獲取地理位置功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Ant Design Vue pro 動(dòng)態(tài)路由的實(shí)現(xiàn)和打包方式

    Ant Design Vue pro 動(dòng)態(tài)路由的實(shí)現(xiàn)和打包方式

    這篇文章主要介紹了Ant Design Vue pro 動(dòng)態(tài)路由的實(shí)現(xiàn)和打包方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06

最新評(píng)論

合川市| 泰州市| 七台河市| 西丰县| 本溪市| 历史| 西青区| 西乡县| 奉节县| 敦化市| 睢宁县| 凤山市| 肃北| 隆尧县| 阿坝| 中西区| 上犹县| 班戈县| 射阳县| 酉阳| 五台县| 平度市| 句容市| 千阳县| 斗六市| 南通市| 安泽县| 措美县| 凌源市| 长武县| 永兴县| 文安县| 黑河市| 谢通门县| 北京市| 广宁县| 津南区| 莎车县| 马边| 樟树市| 鄂伦春自治旗|