• vue cli3 + sockjs + stompjs实现消息实时推送


    1.安装stompjs、sockjs-client

    npm install sockjs-client --save
    npm install stompjs --save

    2.建立连接

    initWebSocket() {
          const socket = new SockJS(this.socketUrl);
          this.stompClient = Stomp.over(socket);
          this.stompClient.connect(
            // { 'token': this.token }, // 可带参
            {},
            () => {
              this.successCallback(); // 连接成功
            },
            () => {
              this.disconnect(); // 断开连接
            }
          );
        },        

    3.连接成功

    // 连接成功
        successCallback() {
          console.info("onConnected");
          this.stompClient.subscribe("/topic/send/error", (val) => {
            this.showData = val.body; // 接收到的数据
          });
        },

    4.断开连接

    disconnect() {
          console.log("关闭连接");
          this.reconnect(this.socketUrl);
          if (this.stompClient != null) {
            this.stompClient.disconnect();
          }
        },

    5.断开重连

    reconnect(socketUrl) {
          console.info("in reconnect function");
          const socket = new SockJS(socketUrl);
          this.stompClient = Stomp.over(socket);
          this.stompClient.connect(
            {},
            () => {
              console.info("reconnected success");
              // 连接成功
              console.log("成功");
              this.successCallback();
            },
            () => {
              // 失败
              console.log("失败");
              setTimeout(() => {
                this.reconnect(this.socketUrl);
              }, 5000);
            }
          );
        },
  • 相关阅读:
    ASP.NET中Cookie编程的基础知识
    一道编程题
    软件开发一点心得
    迅雷产品经理笔试题
    常用JS 1
    设计模式
    整理思路
    抽象工厂模式 Abstract Factory
    单件模式(Single Pattern)
    序列化
  • 原文地址:https://www.cnblogs.com/chichuan/p/14168818.html
Copyright © 2020-2023  润新知