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, '/');
}