webscoket在vue中的使用

news2025/1/22 16:08:29

项目场景:

提示:项目相关背景:

什么是webscoket?:

WebSocket是一种计算机通信协议,通过单个TCP连接提供全双工通信信道。实现了web客户端和服务器之间的实时通信,与传统的HTTP连接相比,允许以更低的延迟和开销进行双向数据交换。
WebSocket技术通常用于需要实时数据传输的网络应用程序,如聊天应用程序、在线游戏和金融交易平台。使用WebSocket,web应用程序可以在浏览器和服务器之间建立和维护持久的连接,从而实现对web内容的即时更新,而无需不断的HTTP请求。

项目场景:

用户在移动端发布的信息,需要实时在PC端进行实时弹窗提示,这里需要用到webscoket协议。


如何使用

如果你是http协议,使用ws,如果是https协议,使用wss协议,我这里是wss

直接在methods定义一个init方法

1 首先在created或mounted钩子调用方法

    this.init()

首先判断浏览器是否支持WebSocket协议

  //判断浏览器是否支持WebSocket
  if(typeof(WebSocket) === "undefined"){
     alert("您的浏览器不支持socket")
  }

2 init方法

    init () {
       //如果你是http协议,使用ws,如果是https协议,使用wss协议,我这里是wss
      this.ws = new WebSocket('wss://127.0.0.1/server/web-socket')

      // 监听是否连接成功
      this.ws.onopen = () => {
        console.log('ws连接状态成功:' + this.ws.readyState)
        // 连接成功则发送一个数据
        // this.ws.send('连接成功')
      }

      // 接听服务器发回的信息并处理展示
      this.ws.onmessage = (data) => {
        console.log('接收到来自服务器的消息:')
        const wsData = JSON.parse(data.data)
        const message = {
          title: '货主发布',
          desc: `起始地:${wsData.fromWhere}<br/>目的地:${wsData.toWhere}<br/>货物类型:${wsData.goodsType}`,
          duration: 3
        }
        this.$Notice.info(message)
      }

      // 监听连接关闭事件
      this.ws.onclose = () => {
        // 监听整个过程中websocket的状态
        console.log('ws连接状态关闭:' + this.ws.readyState)
      }

      // 监听并处理error事件
      this.ws.onerror = function (error) {
        console.log(error)
      }
    },

3 销毁前关闭WebSocket

 destroyed () {
        // 销毁监听
        this.ws.close()
    }

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/925043.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【洛谷】P1873 [COCI2011-2012#5] EKO / 砍树

原题链接&#xff1a;https://www.luogu.com.cn/problem/P1873 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 二分答案。 3. 代码实现 #include<bits/stdc.h> using namespace std; #define ll long long const int N 1e6 10; int a[N], …

日本核污水排放入海,海洋污染问题再引关注

2023年8月22日&#xff0c;日本政府举行相关阁僚会议后宣布&#xff0c;将从8月24日启动福岛核污染水排海。根据计划&#xff0c;福岛核污染水的排海至少要持续30年。此消息一出&#xff0c;引发国际社会和广大民众的强烈谴责。 福岛第一核电站的核污水含有多种放射性物质。其中…

ARM64函数调用流程分析

ARM64函数调用流程分析 1 ARM64 函数调用实例2 对应代码的分析2.1 main函数及其对应的汇编程序2.1.1 main的C代码实现2.1.2 main函数对应汇编及其分析2.1.3 执行完成之后栈的存放情况 2.2 test_fun_a函数及其对应的汇编程序2.2.1 test_fun_a函数的C实现2.2.2 test_fun_a函数对应…

学习ts(八)模块与命名空间

模块 ts与es5一样&#xff0c;任何包含顶级import和export的文件都被当成一个模块。相反的&#xff0c;如果一个文件不带有顶级的import和export声明&#xff0c;那么他的内容被视为全局可见的。 在两个文件中声明相同属性名的变量&#xff0c;会出现错误信息 可以使用export…

中文分词和tfidf特征应用

文章目录 引言1. NLP 的基础任务 --分词2. 中文分词2.1 中文分词-难点2.2 中文分词-正向最大匹配2.2.1 实现方式一2.2.2 实现方式二 利用前缀字典 2.3 中文分词-反向最大匹配2.4 中文分词-双向最大匹配2.5 中文分词-jieba分词2.5.1 基本用法2.5.2 分词模式2.5.3 其他功能 2.6 三…

帆软FineReport下拉框联动实现

在用帆软做报表展示时&#xff0c;有需求是要进行联动效果&#xff0c;记录下来&#xff0c;方便查看。 帆软版本&#xff1a;10.0 背景 编辑栏两个控件&#xff0c;产品ID是输入框&#xff0c;用户可输入产品ID&#xff0c;产品名称为下拉框&#xff0c;可选择产品名称。当用…

C语言实例_双向链表增删改查

一、双向链表介绍 双向链表&#xff08;Doubly Linked List&#xff09;是一种常见的数据结构&#xff0c;在单链表的基础上增加了向前遍历的功能。与单向链表不同&#xff0c;双向链表的每个节点除了包含指向下一个节点的指针外&#xff0c;还包含指向前一个节点的指针。 作用…

NPM中管理团队

目录 1、关于开发团队 2、创建团队 3、将组织成员添加到团队 3.1 从CLI管理团队 4、从团队中删除组织成员 5、管理团队对组织包的访问 5.1 向团队添加包访问权限 Web网页上的团队添加包访问权限 使用CLI向团队添加包访问权限 5.2 从组中删除包访问权限 从Web网页上的…

【Vue】vue2预览显示quill富文本内容,vue-quill-editor回显页面,v-html回显富文本内容

文章目录 前言一、下载二、使用步骤1.引入样式2.html代码 总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; vue后台框架&#xff0c;若依系统里有一个富文本编辑器&#xff0c;效果如下 在package.json里面查看&#xff0c;发现插件名叫quill 插件的…

Systick滴答定时器

今天&#xff0c;对Systick滴答定时器进行资料的整理&#xff0c;这个定时器在程序中的作用就是提供延时函数。参考&#xff08;【STM32】Systick滴答定时器_一只大喵咪1201的博客-CSDN博客&#xff09; Systick滴答定时器的介绍 相关寄存器 寄存器CTRL 补充HCLK 寄存器LOAD…

Linux 网络编程 和 字节序的概念

网络编程概述 不同于之前学习的所有通讯方法&#xff0c;多基于Linux内核实现&#xff0c;只能在同一个系统中不同进程或线程间通讯&#xff0c;Linux的网络编程可以实现真正的多机通讯&#xff01; 两个不相关的终端要实现通讯&#xff0c;必须依赖网络&#xff0c;通过地址…

【C++】—— c++11新特性之 lambda

前言&#xff1a; 上期&#xff0c;我们学习了有关 C11 一些属于了解的新特性介绍。本期&#xff0c;我们要讲到的内容则属于 需要掌握 的知识点之一。 目录 &#xff08;一&#xff09;lambda 的引入 &#xff08;二&#xff09; lambda表达式 1、lambda表达式语法 2、捕获…

压力监测设备——监测压力的仪器仪表

压力监测设备的原理和差压变送器相同&#xff0c;所不同的是压力监测设备低压室压力是大气压或真空。压力监测设备是一种接受压力变量&#xff0c;经传感转换后&#xff0c;按一定比例将压力变化转换成标准信号的仪表。 压力监测设备的输出信号传送到中央控制室进行压力指示和…

【大模型】基于 LlaMA2 的高 star 的 GitHub 开源项目汇总

【大模型】基于 LlaMA2 的高 star 的 GitHub 开源项目汇总 Llama2 简介开源项目汇总NO1. FlagAlpha/Llama2-ChineseNO2. hiyouga/LLaMA-Efficient-TuningNO3. yangjianxin1/FireflyNO4. LinkSoul-AI/Chinese-Llama-2-7bNO5. wenge-research/YaYiNO6. michael-wzhu/Chinese-LlaM…

万字精讲——数据结构栈与队列必会OJ练习

W...Y的主页 &#x1f495; 代码库分享 &#x1f60a; 在之前的博客中&#xff0c;我们学习了栈与队列的基本内容&#xff0c;并且实现了栈与队列。今天我们进行刷题训练&#xff0c;走进栈与队列的世界中去感受一番&#xff01;&#xff01;&#xff01; 目录 括号匹配问题…

springboot集成redisson

springboot集成redisson有两种方式&#xff0c;分别是集成redisson-spring-boot-starter或redisson-spring-data。由于作者的项目和redisson-spring-boot-starter有冲突&#xff0c;所以选择集成redisson-spring-data&#xff0c;下面介绍集成集成步骤&#xff0c;已单机版redi…

对CSV格式的数据文件进行插值处理

使用Python程序&#xff0c;实现对一个较短的csv文件&#xff0c;进行差值处理&#xff0c;并绘制GUI界面&#xff1b; 这个程序是一个使用Python的Tkinter库构建的GUI应用程序&#xff0c;用于对CSV格式的数据文件进行插值处理。下面我会逐步解释程序的各个部分和功能&#x…

使用 docker 搭建 granfana+prometheus 监控平台监控测试服务器资源

互联网发展的今天&#xff0c;人们对互联网产品的用户体验要求也越来越高&#xff0c;企业为了能提供更优质的用户体验&#xff0c;就会绞尽脑汁想尽各种办法。而对于服务器的资源监控&#xff0c;搭建一个资源监控平台&#xff0c;就是一个很好的维护优质服务的保障平台。利用…

函数的参数传递和返回值-PHP8知识详解

本文学习的是《php8知识详解》中的《函数的参数传递和返回值》。主要包括&#xff1a;向函数传递参数值、向函数传递参数引用、函数的返回值。 1、向函数传递参数值 函数是一段封闭的程序&#xff0c;有时候&#xff0c;程序员需要向函数传递一些数据进行操作。可以接受传入参…

Python如何输出文本到屏幕

如何输出文本到屏幕 在Python中&#xff0c;要将文本输出到屏幕&#xff0c;可以使用print()函数。这个函数是Python中的内置函数&#xff0c;非常常用&#xff0c;让我们一起来学习如何使用它。 使用print()函数 print()函数用于将内容输出到终端&#xff08;屏幕&#xff…