websocket

一瘦棋。用引入js方式

1 在main.js中引入

//引入websocket

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

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

2 在代碼里書寫

//與服務器建立==>監(jiān)聽是否被掃

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構(gòu)建

// 安裝命令行: 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``;

// 斷開重連機制,嘗試發(fā)送消息,捕獲異常發(fā)生時重連

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子協(xié)議的客戶端對象

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

// 定義客戶端的認證信息,按需求配置

var headers = {

login: ``'mylogin'``,

passcode: ``'mypasscode'``,

// additional header

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

};

// 向服務器發(fā)起websocket連接

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

this``.stompClient.subscribe(``'/topic/chat_msg'``, (msg) => { ``// 訂閱服務端提供的某個topic

consolel.log(msg.body); ``// msg.body存放的是服務端發(fā)送給我們的信息

});

}, (err) => {

});

},

disconnect() {

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

this``.stompClient.disconnect();

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

}

}

}

};

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市产还,隨后出現(xiàn)的幾起案子脐区,更是在濱河造成了極大的恐慌牛隅,老刑警劉巖倔叼,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件丈攒,死亡現(xiàn)場離奇詭異巡验,居然都是意外死亡显设,警方通過查閱死者的電腦和手機捕捂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門指攒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來允悦,“玉大人隙弛,你說我怎么就攤上這事∪疲” “怎么了总珠?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵姚淆,是天一觀的道長腌逢。 經(jīng)常有香客問我搏讶,道長媒惕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任穿挨,我火速辦了婚禮科盛,結(jié)果婚禮上贞绵,老公的妹妹穿的比我還像新娘榨崩。我一直安慰自己母蛛,他們只是感情好溯祸,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布焦辅。 她就那樣靜靜地躺著筷登,像睡著了一般。 火紅的嫁衣襯著肌膚如雪狈醉。 梳的紋絲不亂的頭發(fā)上苗傅,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天渣慕,我揣著相機與錄音逊桦,去河邊找鬼抑进。 笑死,一個胖子當著我的面吹牛兰迫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鸡号,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼府蔗,長吁一口氣:“原來是場噩夢啊……” “哼汞窗!你這毒婦竟也來了仲吏?” 一聲冷哼從身側(cè)響起裹唆,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤许帐,失蹤者是張志新(化名)和其女友劉穎成畦,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體框仔,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡存和,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了茄袖。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宪祥。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡蝗羊,死狀恐怖耀找,靈堂內(nèi)的尸體忽然破棺而出野芒,到底是詐尸還是另有隱情蓄愁,我是刑警寧澤撮抓,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布丹拯,位于F島的核電站咽笼,受9級特大地震影響剑刑,放射性物質(zhì)發(fā)生泄漏双肤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望狸驳。 院中可真熱鬧缩赛,春花似錦、人聲如沸察绷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽猾骡。三九已至卓练,卻和暖如春隘蝎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工几迄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留映胁,地道東北人解孙。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓弛姜,卻偏偏與公主長得像廷臼,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子寂恬,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355