React通過Stompjs接入RabbitMq
webSocket一般用於web端消息推送,以及聊天用的長連接。
RabbitMQ是實現了高級消息隊列協議(AMQP)的開源消息代理軟件(亦稱面向消息的中間件)。RabbitMQ服務器是用Erlang語言編寫的,而集羣和故障轉移是構建在開放電信平臺框架上的。所有主要的編程語言均有與代理接口通訊的客戶端庫。
##方式一:npm install stompjs
import Stomp from 'stomp'
//如果編譯提示不通過,請檢查webpack配置問題
##方式二:手動下載 stompjs.min.js
將下載好的stompjs.min.js直接拖入工程
<!--導入方式:路徑根據實際情況填寫-->
import {Stomp} from '../stomp.min'
stompjs下載連接
提取密碼:w3zq
##代碼書寫
stompClient() {
// 建立連接
let ws = new WebSocket('ws://xx.xx.xx:15674/ws');
let stomClient = Stomp.over(ws)
stomClient.heartbeat.outgoing = 200;
stomClient.heartbeat.incoming = 0;
<!--var self = this-->
let on_connect = function (x) {
console.log(x);
console.log("success")
stomClient.subscribe("/exchange/exchange_name/routingKey" , function (d) {
//收到消息
console.log(d.body);
})
}
let on_error = function (error) {
console.log(error)
<!--可以在這裏建立重連機制-->
}
// 連接消息服務器
stomClient.connect('username', 'pwd', on_connect, on_error, '/');
}