vue中使用websocket 加上一层协议STOMP

参考STOMP协议文档地址:springboot之websocket,STOMP协议 - 走看看

在vue中写需要先安装依赖anz

yarn add stompjs
yarn add sockjs-client

 安装后运行如果报找不到net模块的问题则运行:yarn add net

<template>
  <div class="test" style="background-color: burlywood;">
   <div>
         <h3>订阅形式</h3>
         <label>订阅消息:</label><input type="text" disabled="disabled" v-model="websorketvalue">
     </div>
  <!-- <canvas id="myCanvas" ref="myCanvas"
    width="460" height="240" @mousedown="mousedown" @mouseup="mouseup" @mousemove="mousemove">
  </canvas> -->
  </div>
 </template>

<script>
import SockJS from 'sockjs-client'
import Stomp from 'stompjs'
  export default {
  data(){
    return{
      websorketvalue:''
    }
  },
  created() {
  
  },
  methods:{
   websoketfn(){
    let _this=this
     var stomp = null;
 
 var url = "http://dev.graphchain.top:1001/chain-api/ws"//地址是后端给的
       var ws = new SockJS(url);
       stomp = Stomp.over(ws);
       //连接
       stomp.connect({}, function (frame) {
         console.log(frame);
    
           //订阅,一般只有订阅的时候在返回
           stomp.subscribe("/topic/public", function (res) {
              console.log(res);
              // console.log( document.querySelector('#subscribeMsg'));
            _this.websorketvalue=res.body//这里取自己需要的值就行
              
           });
         
       });
  
   }
  },
  mounted() {

   this.websoketfn()
  }
  };
 </script>
  
 <style scoped>

 </style>

效果图

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 3使用stomp-websocket,你可以按照以下步骤进行操作: 1. 首先,你需要安装stompjs和sockjs-client依赖。在你的Vue项目根目录下,打开终端并运行以下命令: ```shell npm install stompjs sockjs-client --save ``` 2. 在你需要使用stomp-websocket的组件,引入stompjs和sockjs-client库。你可以在Vue组件的`<script>`标签添加以下代码: ```javascript import { Stomp } from 'stompjs'; import SockJS from 'sockjs-client'; ``` 3. 接下来,你可以在组件的方法创建和管理stomp客户端连接。例如,在`created`钩子函数,可以添加以下代码: ```javascript created() { const socket = new SockJS('http://localhost:8080/your-websocket-endpoint'); // 替换为你的WebSocket端点URL this.stompClient = Stomp.over(socket); this.stompClient.connect({}, this.onConnect, this.onError); }, methods: { onConnect() { // 连接成功后的处理逻辑 }, onError(error) { // 连接失败后的处理逻辑 } } ``` 4. 在`onConnect`方法,你可以订阅并接收消息。例如: ```javascript onConnect() { this.stompClient.subscribe('/your-destination', (message) => { // 处理收到的消息 console.log(message.body); }); } ``` 这里的`/your-destination`是你想要订阅的目标地址。 5. 最后,当你不再需要连接时,记得在适当的时候断开连接: ```javascript beforeDestroy() { this.stompClient.disconnect(); } ``` 这样,你就可以在Vue 3使用stomp-websocket了。请注意,上述代码的URL和订阅目标地址需要根据你的实际情况进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值