websocket

作者: Amituofo_ | 来源:发表于2020-07-03 16:14 被阅读0次

一。用引入js方式

1 在main.js中引入

//引入websocket

import '@/assets/js/sockjs.min.js';

import '@/assets/js/stomp.min.js';

2 在代码里书写

//与服务器建立==>监听是否被扫

scanConnect(){

this.refreshConnect();

var socket = new SockJS('http://118.178.118.114/zjzwfw-zwmp-api/endpoint-websocket');

this.stompClient = Stomp.over(socket);

var _self=this;

_self.stompClient.connect({'token':sessionStorage.getItem('token')}, function (frame) {

console.log(11, _self.stompClient);

});

});

},

//取消与服务器端的链接

disconnect(){

if (this.stompClient != null) {

this.stompClient.disconnect();

console.log("Disconnected",this.stompClient);

}

},

二。用npm构建

// 安装命令行: npm install sockjs-client 和npm install @stomp/stompjs

// 安装并引入相关模块

import SockJS from ``'sockjs-client'``;

import Stomp from ``'stompjs'``;

export ``default {

data() {

return {

dataList: []

};

},

mounted:``function``(){

this``.initWebSocket();

},

beforeDestroy: ``function () {

// 页面离开时断开连接,清除定时器

this``.disconnect();

clearInterval(``this``.timer);

},

methods: {

initWebSocket() {

this``.connection();

let self = ``this``;

// 断开重连机制,尝试发送消息,捕获异常发生时重连

this``.timer = setInterval(() => {

try {

self.stompClient.send(``"test"``);

} ``catch (err) {

console.log(``"断线了: " + err);

self.connection();

}

}, 5000);

},

removeTab(targetName) {

console.log(targetName)

},

connection() {

// 建立连接对象

this``.socket = ``new SockJS(``'[http://xxxxxx:8089/ws](http://xxxxxx:8089/ws)'``);//连接服务端提供的通信接口,连接以后才可以订阅广播消息和个人消息

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

this``.stompClient = Stomp.over(``this``.socket);

// 定义客户端的认证信息,按需求配置

var headers = {

login: ``'mylogin'``,

passcode: ``'mypasscode'``,

// additional header

'client-id'``: ``'my-client-id'

};

// 向服务器发起websocket连接

this``.stompClient.connect(headers,(frame) => {

this``.stompClient.subscribe(``'/topic/chat_msg'``, (msg) => { ``// 订阅服务端提供的某个topic

consolel.log(msg.body); ``// msg.body存放的是服务端发送给我们的信息

});

}, (err) => {

});

},

disconnect() {

if (``this``.stompClient != ``null``) {

this``.stompClient.disconnect();

console.log(``"Disconnected"``);

}

}

}

};

相关文章

网友评论

      本文标题:websocket

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