webSocket使用

项目中用的是vue2,要实现订阅广播以及发送消息的功能。

冷不丁会用几次,记录一下。

首先要下载SockJS、Stomp

npm i sockjs
npm i stompjs -S

然后引用

// import SockJS from "sockjs-client";
import SockJS from 'sockjs-client/dist/sockjs.min.js';
import Stomp from 'stompjs';

第一行引用会报错,会找不到SockJS,所以用第二行的引入方式。

        // ws对接
        getWs() {
            let socket = new SockJS('http://192.xxx.xx.xxx:8080/websocket');
            let stompClient = Stomp.over(socket);
            stompClient.connect(
                { sso_session_id2: localStorage.getItem('Token') },
                frame => {
                    //订阅方法 /topic/project-proposal/chapter-notify/subscribe/{projectId}
                    stompClient.subscribe('/topic/project-proposal/chapter-notify/subscribe/1468036753002942464', function (message) {
                        console.log('订阅 ' + message.body);
                    });
                    //初始化方法 /app/project-proposal/chapter-notify/init/{projectId}
                    stompClient.subscribe('/app/project-proposal/chapter-notify/init/1468036753002942464', function (message) {
                        console.log('初始化 ' + message.body);
                    });
                    //发送消息 /app/project-proposal/chapter-notify/handle/{projectId}
                    /*stompClient.send('/app/project-proposal/chapter-notify/handle/1468036753002942464', {}, "{\"status\":false,\"index\":\"2.1\"}",function (message) {
                console.log('/handle/1468036753002942464: ' + message.body);
            });*/
                    //取消订阅方法 /topic/warn/warning-manage/topic-notify/{projectId}
                    /*stompClient.unsubscribe('/topic/project-proposal/chapter-notify/subscribe/1468036753002942464',{},{},function (message) {
                console.log('/topic/project-proposal/chapter-notify/subscribe/1588433047893921792: ' + message.body);
            });*/
                },
                err => {
                    console.log(err);
                    console.log(err.headers['message']);
                }
            );
        },

调用getWs()方法就好了。

相关推荐

  1. webSocket使用

    2024-01-12 22:28:02       34 阅读
  2. Go使用websocket

    2024-01-12 22:28:02       37 阅读
  3. uni-app使用WebSocket

    2024-01-12 22:28:02       31 阅读
  4. websocket使用-1

    2024-01-12 22:28:02       28 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-12 22:28:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-12 22:28:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-12 22:28:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-12 22:28:02       20 阅读

热门阅读

  1. C++ STL:常用拷贝算法和替换算法

    2024-01-12 22:28:02       32 阅读
  2. AI全栈大模型工程师(八)Plugins 开发

    2024-01-12 22:28:02       38 阅读
  3. linux 文件打包 / 分割 / 组合 / 解压

    2024-01-12 22:28:02       29 阅读
  4. QT day4

    QT day4

    2024-01-12 22:28:02      38 阅读
  5. CentOS7搭建Harbor企业级Docker仓库

    2024-01-12 22:28:02       35 阅读
  6. thinkphp 模板解析

    2024-01-12 22:28:02       29 阅读
  7. PyTorch简单理解ChannelShuffle与数据并行技术解析

    2024-01-12 22:28:02       37 阅读
  8. Rust 闭包

    2024-01-12 22:28:02       35 阅读
  9. 并发编程(八)

    2024-01-12 22:28:02       37 阅读
  10. ClickHouse(21)ClickHouse集成Kafka表引擎详细解析

    2024-01-12 22:28:02       39 阅读
  11. draggable中的input、textArea无法聚焦问题解决

    2024-01-12 22:28:02       31 阅读
  12. 战略投资常用的ChatGPT通用提示词模板

    2024-01-12 22:28:02       37 阅读