vue3使用websocket(亲测解决)

这篇具有很好参考价值的文章主要介绍了vue3使用websocket(亲测解决)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.需要后端给你一个ws的接口比如:

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

我这里的name是后端要求登录成功后搞得

2.后端给我个登录的接口,需要登录后才能实现长链接

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}`)
    //  //连接发生错误的回调方法
    ws.onerror = function () {
      console.log("ws连接发生错误");
    };
    //连接成功建立的回调方法
    ws.onopen = function () {
      console.log("ws连接成功");
    }
    //接收到消息的回调方法
    ws.onmessage = function (event) {
      console.log(name + '的',event.data);
    }
    //连接关闭的回调方法
    ws.onclose = function () {
      console.log("ws连接关闭");
    }
  }
}

网上找了一堆没用的方法,不建议看

所有代码合集文章来源地址https://www.toymoban.com/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}`)
    //  //连接发生错误的回调方法
    ws.onerror = function () {
      console.log("ws连接发生错误");
    };
    //连接成功建立的回调方法
    ws.onopen = function () {
      console.log("ws连接成功");
    }
    //接收到消息的回调方法
    ws.onmessage = function (event) {
      console.log(name + '的',event.data);
    }
    //连接关闭的回调方法
    ws.onclose = function () {
      console.log("ws连接关闭");
    }
  }
}
</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">发送</button>
</template>

<style scoped>
</style>

到了这里,关于vue3使用websocket(亲测解决)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp适配微信隐私协议开发指南[uniapp+vue3+js]

    没怎么做过uniapp,找了一些文章做了出来,给大家分享一下 2023.9.15以后需要适配微信的隐私协议开发指南 目前uniapp的说法是微信小程序隐私协议开发指南 | uni-app官网 微信小程序小程序隐私协议开发指南 | 微信开放文档 微信官方提供了几个demo demo1: 演示使用  wx.getPrivacySet

    2024年02月07日
    浏览(58)
  • 使用vue3简单实现WebSocket通信

    关于WebSocket通信的简单介绍: 握手阶段:在建立WebSocket连接之前,客户端需要发送一个HTTP请求到服务器,请求升级为WebSocket协议。这个过程称为握手(Handshake)。如果服务器支持WebSocket协议,它将返回带有特定标头的HTTP响应,表示握手成功。 建立连接:客户端收到服务器的

    2024年02月16日
    浏览(37)
  • 在vue3中封装使用WebSocket

    上篇文章记录了如何在日常开发过程中引入并使用websocket连接,但是在后续的开发过程中发现之前的写法有点问题,比如说多次引用连接会共用一个心跳,如果一个连接关掉了,后续其他的连接可能被一起关掉等等的bug。 所以在这篇文章里针对上篇文章提供的方法进行改进,

    2024年02月07日
    浏览(41)
  • vue3:websocket的封装与使用

    前言:vue3+pinia项目 1.引入ws 2.新建websocket.js类 3.新建一个pinia Store类 4.页面中使用

    2024年02月02日
    浏览(38)
  • vue3.2+vite+代理,使用websocket

    之前以为websocket复杂,想使用插件来实现,查了一番资料,原生写法就很简单。 查询列表,需要实时获取员工上报的数据 Table.vue 因为跨域问题,这里使用了vite的proxy代理功能 vite.config.ts 如果代理设置好,连接成功,以上websocket会打印\\\"连接成功\\\"和输出返回。 完! 项目运行

    2024年02月10日
    浏览(47)
  • Vue.js WebSocket 整合指南:实时通信的完美解决方案

    WebSocket是一种在Web应用程序中实现双向通信的通信协议,它允许客户端和服务器之间建立持久的、低延迟的连接,以实现实时数据传输。相比传统的HTTP请求,WebSocket更适合需要实时性和交互性的应用程序。 WebSocket解决了传统HTTP请求的一些限制,例如: 实时性: 传统HTTP请求需

    2024年02月04日
    浏览(50)
  • vue3项目使用WebSocket 传输 Protobuf 格式的数据

    前端和后端数据传输常用数据格式: JSON(JavaScript Object Notation):与 HTTP 协议和 REST API 配合使用时,JSON 数据是最常用的数据格式之一。对于 WebSocket,JSON 数据同样适用。客户端可以将消息转换为 JSON 对象,并将其发送到服务器进行处理,在服务器上生成响应并返回给客户端

    2024年02月10日
    浏览(53)
  • vue3使用websocket简易封装,包含错误重连机制

    websocket实现的全双工通信,真真太香了,以下是笔者在使用时,自己封装的一个简易js工具。若需要源码,请移步这里 笔者这里会重连3次,重连的过程给与用户提示,3次之后会提示用户手动刷新 这里与后端约定的数据返回,加上type作为接口判断依据,因此这里不一定通用。

    2024年02月11日
    浏览(47)
  • 在vue3中使用WebSocket的正确姿势,优雅~实在是太优雅了~

    此教程针对typescript,提供断线自动重连,断线数据重发,自动心跳,自定义消息发送机制 测试用例地址:在vue3+typescript-websocket示例 安装tools-vue3工具库,此仓库提供了http请求、文件请求、websocket、signalr、cookie的功能 创建 WSUtil.ts文件 内容: 发送数据 主动断开 消息处理 对

    2024年02月12日
    浏览(38)
  • 【vue3】前端应用中使用WebSocket与服务器进行通信并管理连接状态。

    1、写一个hook函数 url 是WebSocket的服务器地址,其中 Math.random() 用于生成一个随机数,以避免缓存问题。 onConnected 、 onDisconnected 和 onError 是连接建立、断开和出错时的回调函数,你可以根据实际需求来定义它们。 onMessageDefault 是当接收到消息时的默认处理函数,在这里将接收

    2024年02月09日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包