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

vue3使用websocket(親測(cè)解決)

這篇具有很好參考價(jià)值的文章主要介紹了vue3使用websocket(親測(cè)解決)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1.需要后端給你一個(gè)ws的接口比如:

ws://192.168.2.19:8080/chat/${name}

我這里的name是后端要求登錄成功后搞得

2.后端給我個(gè)登錄的接口,需要登錄后才能實(shí)現(xiàn)長鏈接

const login = (name) => {
  toLogin(data).then(res => {
    console.log(res);
    init(name)
  }).catch(err => {
    console.log(err);
  })
}

3.封裝init方法

const init = (name) => {
  if(typeof(WebSocket) === "undefined"){
      alert("您的瀏覽器不支持socket")
  }else{
     const ws = new WebSocket(`ws://192.168.2.19:8080/chat/${name}`)
    //  //連接發(fā)生錯(cuò)誤的回調(diào)方法
    ws.onerror = function () {
      console.log("ws連接發(fā)生錯(cuò)誤");
    };
    //連接成功建立的回調(diào)方法
    ws.onopen = function () {
      console.log("ws連接成功");
    }
    //接收到消息的回調(diào)方法
    ws.onmessage = function (event) {
      console.log(name + '的',event.data);
    }
    //連接關(guān)閉的回調(diào)方法
    ws.onclose = function () {
      console.log("ws連接關(guān)閉");
    }
  }
}

網(wǎng)上找了一堆沒用的方法,不建議看

所有代碼合集文章來源地址http://www.zghlxwxcb.cn/news/detail-623210.html

<script setup>
import { ref, onMounted, onUnmounted } from 'vue';
import {toLogin} from '../http/index'

let word = ref('')
const data = {
  username:'zhangsan',
  password:'123'
}
const login = (name) => {
  toLogin(data).then(res => {
    console.log(res);
    init(name)
  }).catch(err => {
    console.log(err);
  })
}
const init = (name) => {
  if(typeof(WebSocket) === "undefined"){
      alert("您的瀏覽器不支持socket")
  }else{
     const ws = new WebSocket(`ws://192.168.2.19:8080/chat/${name}`)
    //  //連接發(fā)生錯(cuò)誤的回調(diào)方法
    ws.onerror = function () {
      console.log("ws連接發(fā)生錯(cuò)誤");
    };
    //連接成功建立的回調(diào)方法
    ws.onopen = function () {
      console.log("ws連接成功");
    }
    //接收到消息的回調(diào)方法
    ws.onmessage = function (event) {
      console.log(name + '的',event.data);
    }
    //連接關(guān)閉的回調(diào)方法
    ws.onclose = function () {
      console.log("ws連接關(guān)閉");
    }
  }
}
</script>

<template>
  <h1>Web Socket</h1>
  <div>聊天框 <textarea type="text" v-model="word" ></textarea></div>
  <button @click="login('zhangsan')">張三登錄</button>
  <button @click="login('李四')">李四登錄</button>
  <button @click="send">發(fā)送</button>
</template>

<style scoped>
</style>

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

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

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

相關(guān)文章

  • uniapp適配微信隱私協(xié)議開發(fā)指南[uniapp+vue3+js]

    uniapp適配微信隱私協(xié)議開發(fā)指南[uniapp+vue3+js]

    沒怎么做過uniapp,找了一些文章做了出來,給大家分享一下 2023.9.15以后需要適配微信的隱私協(xié)議開發(fā)指南 目前uniapp的說法是微信小程序隱私協(xié)議開發(fā)指南 | uni-app官網(wǎng) 微信小程序小程序隱私協(xié)議開發(fā)指南 | 微信開放文檔 微信官方提供了幾個(gè)demo demo1: 演示使用? wx.getPrivacySet

    2024年02月07日
    瀏覽(23)
  • 使用vue3簡(jiǎn)單實(shí)現(xiàn)WebSocket通信

    關(guān)于WebSocket通信的簡(jiǎn)單介紹: 握手階段:在建立WebSocket連接之前,客戶端需要發(fā)送一個(gè)HTTP請(qǐng)求到服務(wù)器,請(qǐng)求升級(jí)為WebSocket協(xié)議。這個(gè)過程稱為握手(Handshake)。如果服務(wù)器支持WebSocket協(xié)議,它將返回帶有特定標(biāo)頭的HTTP響應(yīng),表示握手成功。 建立連接:客戶端收到服務(wù)器的

    2024年02月16日
    瀏覽(22)
  • 在vue3中封裝使用WebSocket

    上篇文章記錄了如何在日常開發(fā)過程中引入并使用websocket連接,但是在后續(xù)的開發(fā)過程中發(fā)現(xiàn)之前的寫法有點(diǎn)問題,比如說多次引用連接會(huì)共用一個(gè)心跳,如果一個(gè)連接關(guān)掉了,后續(xù)其他的連接可能被一起關(guān)掉等等的bug。 所以在這篇文章里針對(duì)上篇文章提供的方法進(jìn)行改進(jìn),

    2024年02月07日
    瀏覽(15)
  • vue3:websocket的封裝與使用

    前言:vue3+pinia項(xiàng)目 1.引入ws 2.新建websocket.js類 3.新建一個(gè)pinia?Store類 4.頁面中使用

    2024年02月02日
    瀏覽(26)
  • vue3.2+vite+代理,使用websocket

    之前以為websocket復(fù)雜,想使用插件來實(shí)現(xiàn),查了一番資料,原生寫法就很簡(jiǎn)單。 查詢列表,需要實(shí)時(shí)獲取員工上報(bào)的數(shù)據(jù) Table.vue 因?yàn)榭缬騿栴},這里使用了vite的proxy代理功能 vite.config.ts 如果代理設(shè)置好,連接成功,以上websocket會(huì)打印\\\"連接成功\\\"和輸出返回。 完! 項(xiàng)目運(yùn)行

    2024年02月10日
    瀏覽(20)
  • Vue.js WebSocket 整合指南:實(shí)時(shí)通信的完美解決方案

    WebSocket是一種在Web應(yīng)用程序中實(shí)現(xiàn)雙向通信的通信協(xié)議,它允許客戶端和服務(wù)器之間建立持久的、低延遲的連接,以實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)傳輸。相比傳統(tǒng)的HTTP請(qǐng)求,WebSocket更適合需要實(shí)時(shí)性和交互性的應(yīng)用程序。 WebSocket解決了傳統(tǒng)HTTP請(qǐng)求的一些限制,例如: 實(shí)時(shí)性: 傳統(tǒng)HTTP請(qǐng)求需

    2024年02月04日
    瀏覽(23)
  • vue3項(xiàng)目使用WebSocket 傳輸 Protobuf 格式的數(shù)據(jù)

    vue3項(xiàng)目使用WebSocket 傳輸 Protobuf 格式的數(shù)據(jù)

    前端和后端數(shù)據(jù)傳輸常用數(shù)據(jù)格式: JSON(JavaScript Object Notation):與 HTTP 協(xié)議和 REST API 配合使用時(shí),JSON 數(shù)據(jù)是最常用的數(shù)據(jù)格式之一。對(duì)于 WebSocket,JSON 數(shù)據(jù)同樣適用??蛻舳丝梢詫⑾⑥D(zhuǎn)換為 JSON 對(duì)象,并將其發(fā)送到服務(wù)器進(jìn)行處理,在服務(wù)器上生成響應(yīng)并返回給客戶端

    2024年02月10日
    瀏覽(27)
  • vue3使用websocket簡(jiǎn)易封裝,包含錯(cuò)誤重連機(jī)制

    vue3使用websocket簡(jiǎn)易封裝,包含錯(cuò)誤重連機(jī)制

    websocket實(shí)現(xiàn)的全雙工通信,真真太香了,以下是筆者在使用時(shí),自己封裝的一個(gè)簡(jiǎn)易js工具。若需要源碼,請(qǐng)移步這里 筆者這里會(huì)重連3次,重連的過程給與用戶提示,3次之后會(huì)提示用戶手動(dòng)刷新 這里與后端約定的數(shù)據(jù)返回,加上type作為接口判斷依據(jù),因此這里不一定通用。

    2024年02月11日
    瀏覽(30)
  • 在vue3中使用WebSocket的正確姿勢(shì),優(yōu)雅~實(shí)在是太優(yōu)雅了~

    此教程針對(duì)typescript,提供斷線自動(dòng)重連,斷線數(shù)據(jù)重發(fā),自動(dòng)心跳,自定義消息發(fā)送機(jī)制 測(cè)試用例地址:在vue3+typescript-websocket示例 安裝tools-vue3工具庫,此倉庫提供了http請(qǐng)求、文件請(qǐng)求、websocket、signalr、cookie的功能 創(chuàng)建 WSUtil.ts文件 內(nèi)容: 發(fā)送數(shù)據(jù) 主動(dòng)斷開 消息處理 對(duì)

    2024年02月12日
    瀏覽(13)
  • 【vue3】前端應(yīng)用中使用WebSocket與服務(wù)器進(jìn)行通信并管理連接狀態(tài)。

    1、寫一個(gè)hook函數(shù) url 是WebSocket的服務(wù)器地址,其中 Math.random() 用于生成一個(gè)隨機(jī)數(shù),以避免緩存問題。 onConnected 、 onDisconnected 和 onError 是連接建立、斷開和出錯(cuò)時(shí)的回調(diào)函數(shù),你可以根據(jù)實(shí)際需求來定義它們。 onMessageDefault 是當(dāng)接收到消息時(shí)的默認(rèn)處理函數(shù),在這里將接收

    2024年02月09日
    瀏覽(46)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包