前端使用VueStomp后端用sockjs-node,官方事例连接失败

<template>
  <div class="page">
    <button @click="connectSrv">Link</button>
    <button @click="disconnect">UnLink</button>
    <button @click="send">send</button>
    <input type="text" v-model="val">
  </div>
</template>

<script>
  export default {
    data() {
      return {
        invokeIdCnt: 0,
        val: ''
      }
    },
    methods: {
      getInvokeId() {
        let hex = (this.invokeIdCnt++).toString(16);
        var zero = '0000';
        var tmp = 4 - hex.length;
        return zero.substr(0, tmp) + hex;
      },
      onFailed(frame) {
        console.log('连接失败: ' + JSON.stringify(frame));
      },
      responseCallback(frame) {
        console.log("接收信息:" + frame.body);
      },
      disconnect() {
        this.disconnetWM();
      },
      onConnected(frame) {
        console.log('连接成功: ' + frame);
        this.$stompClient.subscribe('/echo', this.responseCallback, this.onFailed);
      },
      connectSrv() {
        this.connetWM("http://localhost:3001/echo", {}, this.onConnected, this.onFailed);
      },
      send() {
        let destination = '/echo'
        let invokeId = this.getInvokeId();
        let body = this.val
        this.sendWM(destination, body, invokeId, this.responseCallback, 3000);
      },
    },
    stompClient: {
      monitorIntervalTime: 100,
      stompReconnect: false,
      timeout(orgCmd) {}
    }
  };

</script>
var http = require('http');
var sockjs = require('sockjs');

var echo = sockjs.createServer({sockjs_url: './sockjs.min.js'});

echo.on('connection', function (conn) {
  conn.on('data', function (message) {
    conn.write(message);
    // console.log(message)
  });
  conn.on('close', function () {});
});

var server = http.createServer();
echo.installHandlers(server, { prefix: '/echo' });
server.listen('3001');

提示为

Opening Web Socket...
Web Socket Opened...
>>> CONNECT
accept-version:1.2,1.1,1.0
heart-beat:10000,10000

>>> length 60

<<< CONNECT
accept-version:1.2,1.1,1.0
heart-beat:10000,10000

Unhandled frame: CONNECT
heart-beat:10000,10000
accept-version:1.2,1.1,1.0

没有提示连接成功或者失败,应该是一直连接用,使用的官方事例
搞了一下午实在想不出来,求教下大神

阅读 4.9k
1 个回答

请问解决了 最近也要用到stomp, 但是发现作者都不维护项目了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题