美文网首页
js建立简单socket

js建立简单socket

作者: 秋秋秋web | 来源:发表于2020-06-08 14:05 被阅读0次

    import Stomp from "stompjs";

    import SockJS from "sockjs-client";

    let stompClient = null;

    class Socket {

      constructor(socketMsg) {

        this.socketMsg = socketMsg;

      }

      /**

      * 向服务器发起websocket连接并发送CONNECT帧

      * @param {object} stompType 与服务器连接通道类型

      * @param {function} callback 回调方法

      */

      static startConnect( callback) {

        // 建立连接对象

        const socket = new SockJS(''连接地址);

        // 获取 STOMP 子协议的客户端对象

        stompClient = Stomp.over(socket);

        // 请求头验证,需要登陆

        const headers = {

          userId: JSON.parse(sessionStorage.getItem("id"))

        };

        // stompClient.debug = () => {};

        stompClient.connect(

          headers,

          (result) => {

            console.log("开始连接",result)

            // 订阅队列推送

            stompClient.subscribe('订阅1队列地址', res => {

              // 收到推送内容

              callback(data);

            });

            // 订阅被邀请

            stompClient.subscribe('订阅2地址', res => {

              callback(data);

            });

          },

          () => {

            // console.log(err);

          }

        );

      }

      // 主动发送消息

      static send(data) {

        stompClient.send(data.url, headers, data.sendMsg);

      }

      // 断开连接

      static disconnect() {

        stompClient.disconnect(() => {

          // console.log("连接关闭");

        });

      }

    }

    export default Socket;

    相关文章

      网友评论

          本文标题:js建立简单socket

          本文链接:https://www.haomeiwen.com/subject/rlzltktx.html