vue中如何使用websocket

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

文章目录

1. 什么是websocket
2. 什么情况下使用websocket?
3. websocket的使用场景
4. 我的使用场景
5. 安装reconnecting-websocket
6. 逻辑处理
7. 心跳机制

一、什么是websocket?

  1. WebSocket是一种在单个TCP连接上进行全双工通信的协议
  2. WebSocket API被W3C定为标准。
  3. WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据
  4. 浏览器和服务器只需要完成一次握手,就可以创建永久性连接,并进行双向数据传输

二、什么情况下使用websocket?

  1. 高实时性
  2. 信息即时更新
  3. 数据实时双向传输
  4. 传统的通过轮询http浪费资源,消耗性能

三、websocket的使用场景

  1. 弹幕聊天
  2. 协同编辑
  3. 社交聊天
  4. 体育赛况
  5. 在线教育
  6. 智能家居
  7. 实时打分系统

四、我的使用场景

实时统计各人员打分情况,并可以控制计时器的开始、暂停、结束
如果websocket断开将进行重新连接

五、安装reconnecting-websocket
npm install reconnecting-websocket --save

六、逻辑处理

import ReconnectingWebSocket from "reconnecting-websocket";
data() {
    return {
      scoket: null,
      heartTimer: null
    };
  },

created() {
	this.initWebSocket();
},

methods: {
	//websocket初始化
    initWebpack() {
      this.scoket = new ReconnectingWebSocket('ws://xxx.xxx.xxx');
      // websocket四个生命周期
      this.scoket.onopen = this.socketOpen;
      this.scoket.onmessage = this.socketonMessage;
      this.scoket.onclose = this.socketClose;
      this.scoket.onerror = this.socketError;
    },
    //建立连接
    socketOpen(e) {
		this.heartbeat()
    },
    //信息接收
    socketonMessage(response){
    
    }
    //断开连接
    socketClose(){
    
    },
    //连接失败
    socketError(){
    
    }
},
beforeDestroy() {
  clearInterval(this.heartTimer); //清除心跳计时器
  this.scoket.close(); //断开心跳连接
},

七、心跳机制

为什么要有心跳机制呢?就是为了确保连接的稳定性,说白了就是客户端通过心跳的形式告诉服务端“我”还活着,连接请不要断开。文章来源地址https://www.toymoban.com/news/detail-541612.html

// 定时向服务器发送心跳标识
heartbeat(){
	this.heartTimer = setInterval(() => {
      if (this.scoket.readyState == 1) {
        this.scoket.send("heartCheck");
      }
    }, 5000);
}

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

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

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

相关文章

  • sanic 使用websocket与前端vue通信,持续发送信息

    由于sanic使用较少,很难获取到有效信息,而且对websocket也是挺“一窍不通”的,因此写一下总结。在使用过程中,对sanic注册websocket,还是使用socketio不清。前端vue是使用io,还是WebSocket还是VueSocketIO。 API:sanic.add_websocket_route是Sanic框架自带的一个方法,用于添加WebSocket路由

    2024年02月11日
    浏览(68)
  • 如何在Node.js中使用WebSocket实现实时通信

    在Web应用程序中,实时通信已经成为一种必不可少的功能。WebSocket是一种基于TCP的协议,它提供了双向通信的能力,使得实时通信变得更加容易。Node.js提供了一个内置的WebSocket模块,使得开发实时通信应用程序变得非常简单。在本文中,我将介绍如何在Node.js中使用WebSocket实

    2024年02月14日
    浏览(47)
  • vue中如何使用websocket

    1. 什么是websocket 2. 什么情况下使用websocket? 3. websocket的使用场景 4. 我的使用场景 5. 安装reconnecting-websocket 6. 逻辑处理 7. 心跳机制 一、什么是websocket? WebSocket是一种在单个TCP连接上进行全双工通信的协议 WebSocket API被W3C定为标准。 WebSocket使得客户端和服务器之间的数据交换

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

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

    2024年02月09日
    浏览(62)
  • 如何使用websocket+node.js实现pc后台与小程序端实时通信

    实现功能:实现pc后台与小程序端互发通信能够实时检测到 1.安装ws依赖 2.创建index.js 3.打开终端,启动服务 这里是手动点击连接按钮,发起的websocket连接,可自行更改到其他合适的地方连接websocket 1.创建两个按钮,连接按钮,发送按钮 2.定义事件,连接ws

    2024年02月03日
    浏览(47)
  • vue项目中如何使用websocket(步骤)

    WebSocket是一种在单个TCP连接上进行全双工通信的协议。Vue是一种流行的JavaScript框架,用于构建用户界面。 结合WebSocket和Vue,可以实现实时数据通信和动态更新UI的效果 。 在本教程中,我们将学习如何在Vue应用程序中使用WebSocket。 步骤1:安装WebSocket库 使用npm安装WebSocket库。

    2024年02月08日
    浏览(43)
  • vue3+nodejs(websocket)实现监控拉rtsp流,使用flv.js+ffmpeg包(主要建立websocket是为了转码传流)

    关于拉取监控摄像头的流,我个人去查了很多资料,也是因为之前没有接触过这一模块,加上目前公司也没有后端去写接口,所以我直接用node去写websocket,与前端建立起通信,能够进行后续转码、传流,能够实现实时播放监控画面。 这里的rtsp流是要事先知道的,监控的这个

    2024年02月20日
    浏览(49)
  • 在前端开发中,何时应该使用 jQuery,何时应该使用 Vue.js

    如果您是最近才开始进入 Web 前端开发领域的开发人员,那么您可能会听说过 jQuery。jQuery 是一个小巧而功能强大的 JavaScript 库,旨在简化跨浏览器 DOM 操作、事件处理、动画效果和 AJAX 等方面的操作,可以让开发人员更轻松地开发出高质量的网站和 Web 应用程序。 何时应该使

    2024年02月02日
    浏览(51)
  • Vue 如何使用WebSocket与服务器建立链接 持续保持通信

    浏览器通过JavaScript向服务器发出建立WebSocket链接的请求,链接建立后,客户端和服务器端就可以通过TCP链接直接交互数据。WebSocket链接后可以通过 send() 方法来向服务器发送数据,并通过 onnessage 事件来接受服务器返回的数据。 WebSocket - Web API 接口参考 | MDN

    2024年01月18日
    浏览(43)
  • 如何使用前端绘图库(D3.js、Chart.js等)?

    聚沙成塔·每天进步一点点 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一个系统而

    2024年02月08日
    浏览(39)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包