zoukankan      html  css  js  c++  java
  • 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);
            }
          );
        },
  • 相关阅读:
    ROW_NUMBER() OVER (PARTITION BY yy ORDER BY zz) in Linq
    Oracle-sql分页方法
    Lambda
    ISNULL做简单的显示字段逻辑
    Select2使用方法汇总
    mysqldump 定时备份数据(全量)
    ubuntu16.10下安装erlang和RabbitMQ
    XShell连接本地Ubuntu虚拟机
    Haroopad 安装到 Mac OSX
    Swagger 生成API文档
  • 原文地址:https://www.cnblogs.com/chichuan/p/14168818.html
Copyright © 2011-2022 走看看