新人学习笔记,有错欢迎交流指出~~

发现问题:

安装好Erlang、rabbitmq客户端后,启用插件rabbitmq-plugins enable rabbitmq_web_stomp后无法访问http://localhost:15674/stomp/info,在百度了许久后还是无法解决这个访问的问题,一度以为自己的stomp通道没有建立成功

解决办法:

后来,仔细研究了一下,通过stomp.html来访问获取队列中的消息,测试通讯功能,附上代码

<!DOCTYPE HTML>
<html>
<head><title>My WebSocket</title>
</head><body>
Welcome<br/>
</body>
<script src="https://cdn.bootcss.com/stomp.js/2.3.3/stomp.js"></script>
<script src="https://cdn.bootcss.com/sockjs-client/1.1.4/sockjs.js"></script>
<script type="text/javascript">if (typeof WebSocket == 'undefined') {console.log('不支持websocket')
}// 初始化 ws 对象//var ws = new WebSocket('ws://本机ip:15674/ws');#ip隐藏大法
var ws = new WebSocket('ws://127.0.0.1:15674/ws');
// 获得Stomp client对象
var client = Stomp.over(ws);// SockJS does not support heart-beat: disable heart-beats
//client.heartbeat.outgoing = 0;
//client.heartbeat.incoming = 0;
//client.debug = pipe('#second');// 定义连接成功回调函数
var on_connect = function(x) {//data.body是接收到的数据client.subscribe("/queue/queue1", function(data) {var msg = data.body;alert("收到数据:" + msg);});
};// 定义错误时回调函数
var on_error =  function() {console.log('error');
};// 连接RabbitMQ
client.connect('guest', 'guest', on_connect, on_error, '/');
console.log(">>>连接上http://localhost:15674");
</script>
</html>

注释部分:

1.以下部分是测试浏览器是否支持websocket,一般浏览器应该都支持。

WebSocket是html5新增加的一种通信协议,目前流行的浏览器都支持这个协议, 例如Chrome,Safari,Firefox,Opera,IE等等,对该协议支持最早的应该是chrome

if (typeof WebSocket == 'undefined') {console.log('不支持websocket')
}

2.如下,第一行代码访问的是本机ip对应的rabbitmq,第二行代码对应的是localhost的rabbitmq,这里两者的不同可以通过访问rabbitmq管理页面来体验一下

通过http://127.0.0.1:15672/来访问rabbitmq管理页面和通过http://本机ip:15672/来访问rabbitmq管理页面是不一样的。ip不同,账户和密码,消息队列等等都有可能不同

//var ws = new WebSocket('ws://本机ip:15674/ws');
var ws = new WebSocket('ws://127.0.0.1:15674/ws');

3.这里的/queue/queue1,指的是队列/队列名称,即名为queue1的queue。注意访问下rabbitmq的管理页面看看有没有这个队列。

 client.subscribe("/queue/queue1", function(data)

4.总所周知,‘guest’, 'guest’分别是自带的用户名和密码

client.connect('guest', 'guest', on_connect, on_error, '/');

测试部分

一开始直接浏览器打开stomp.html,有可能没有在该页面收到来自队列的消息,这是当然,因为你还没有在队列里添加消息,如下:

1.打开 http://localhost:15672/#/queues,

从图中可以看出,队列queue1中消息为空,需要添加消息

  1. 在队列queue1中添加消息,下面我只添加了消息头和消息内容,消息选择为1.不持久类型

    点击发送~

  2. 在stomp.html页面,查看有无消息

如图,收到了消息,说明stomp通道连接成功!

  • 接下来,通过maven项目实际操作一番,看看消息生产者与消费者之间如何连接,这是另外一篇博文的事了。

rabbitmq消息发送与接收stomp通道测试相关推荐

  1. RabbitMQ消息发送和接收

    1.RabbitMQ的消息发送和接受机制 所有 MQ 产品从模型抽象上来说都是一样的过程: 消费者(consumer)订阅某个队列.生产者(producer)创建消息,然后发布到队列(queue)中, ...

  2. RabbitMq 消息发送确认(可靠生产和推送确认)

    RabbitMq 消息发送确认(可靠生产和推送确认) 此文档只是本人在项目中碰到的一些问题而产生的个人相关总结,实际上的消息确认机制可以做得更多(比如分布式事务等,但此处不做阐述). 一.消息发送确认 ...

  3. go 实现 kafka 消息发送、接收

    引言 网络上关于 go 实现 kafka 消息发送和接收的文章很多,但是实际操作起来又不是很清楚,本文在网络资源的基础上,结合自己搭建过程中遇到的问题进行了总结. 本文的实验主机:Mac笔记本. 一. ...

  4. 四种策略确保 RabbitMQ 消息发送可靠性!你用哪种?

    微服务可以设计成消息驱动的微服务,响应式系统也可以基于消息中间件来做,从这个角度来说,在互联网应用开发中,消息中间件真的是太重要了. 今天,以 RabbitMQ 为例,松哥来和大家聊一聊消息中间消息发 ...

  5. python 网络编程之Socket通信案例消息发送与接收

    背景 网络编程是python编程中的一项基本技术.本文将实现一个简单的Socket通信案例消息发送与接收 正文 在python中的socket编程的大致流程图如上所示 我们来首先编写客户端的代码: # ...

  6. 使用Akka持久化——消息发送与接收

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/beliefer/article/details/53929751 前言 在<使用Akka持久化 ...

  7. RabbitMQ——使用Exchange中的fanout交换机实现消息发送和接收

    文章目录: 1.写在前面 2.使用fanout交换机实现消息的发送和接收 2.1 编写消息接收类(有两个) 2.2 编写消息发送类 1.写在前面 所有 MQ 产品从模型抽象上来说都是一样的过程: 消费 ...

  8. springcloudstream+rabbitmq+eureka进行消息发送和接收实例代码

    文章目录 eureka作注册中心的配置: 消息提供方: 消费者代码 注册中心.消息接受者.消息提供者分别启动: eureka作注册中心的配置: 依赖包: <dependencies>< ...

  9. linux ibm mq 安装,消息发送与接收

    下载地址 http://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/messaging/mqadv/ 安装 1.2 解压并安装 1.2 ...

最新文章

  1. Android开发--多线程中的Handler机制/Looper的介绍
  2. 文件_ _android从资源文件中读取文件流并显示的方法
  3. channelread0会被调用两次_值得一看:C#同步方法中如何调用异步方法?
  4. OpenGL 变换Transformations
  5. 关于Dictionary字典和List列表
  6. Linux之V4L2基础编程
  7. 数据分析与挖掘建模实战001:导学,概述
  8. 可计算性与半可计算性 ---半可计算与半可判定
  9. wx小程序 解决子组件样式不起效
  10. iOS动态库重签名步骤
  11. 【unity地编】unity制作场景的流程和要点简要
  12. 为什么选择语雀-你想知道的都在这
  13. 奥鹏20春季1903C语言,奥鹏南开大学 20秋学期(1709、1803、1809、1903、1909、2003、2009 )《程序设计基础(下)》在线作业...
  14. 开源项目——寝室助手
  15. slotformatcombinations_用于确定无线通信系统中的时隙配置的方法和设备与流程
  16. mesh 协调器 路由器_双模网络协调器、双模路由器和双模mesh组网系统的制作方法...
  17. Node.js:pretty-ms转换毫秒为人类可读的字符串
  18. 总有戏精想害朕?那是你没试过百度人脸核身
  19. 风铃发卡平台源码安装教程(宝塔面板+云服务器轻松搭建)
  20. 2021年广东省安全员B证第三批(项目负责人)找解析及广东省安全员B证第三批(项目负责人)模拟考试

热门文章

  1. minio实现大文件分片上传+断点续传+预览
  2. Proteus8.9 VSM Studio WINAVR编译器仿真ATmega16系列a19_DS18B20_LCD1602
  3. 新手必看的模具设计十大分模法,干货满满!!!
  4. 第14章 垃圾回收概述
  5. 货拉拉2021岗位招聘内推计划开始啦
  6. mq5 EA模板及双均线交叉策略EAdemo
  7. 在屏幕的任意位置拖拽,控制精灵移动
  8. html适应不同的分辨率,css如何适应不同分辨率?
  9. 【初探篇】申请阿里云免费SSL证书并配置https访问实战
  10. 通用样式 -表格的每行的复选框选中打印,清除已勾选