本文转自:https://blog.csdn.net/xingxing513234072/article/details/51014850

一、文档资料

       1、官方网站:http://www.rabbitmq.com/
       2、安装教程:http://www.rabbitmq.com/install-windows.html
 
二、安装指南
      1、下载并按照OTP(必须在安装RabbitMQ Server前安装):http://www.erlang.org/download.html
            32位:OTP 17.5 Windows 32-bit Binary File (91.0 MB)
            64位:OTP 17.5 Windows 64-bit Binary File (91.1 MB)
      2、下载并安装RabbitMQ Server:http://www.rabbitmq.com/download.html
            选择windows平台,直接从官方链接下载,同时也可以从github上下载,安装完成后,服务自动启动(services.msc)
      3、下载并安装.Net客户端:http://www.rabbitmq.com/dotnet.html
             http://www.rabbitmq.com/releases/rabbitmq-dotnet-client/v3.5.1/rabbitmq-dotnet-client-3.5.1-dotnet-4.0.zip
              (选择的是.net 4.0版本,同时也可以通过nuget下载)
 
三、命令行工具
      1、定位到rabbitmq安装目录:
          windows 7   cd C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.5.1\sbin
          Widows Serve  cd /d C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.5.1\sbin
      2、执行rabbitmq命令行工具(rabbitmqctl ):
         rabbitmqctl -q status       //打印了一些rabbitmq服务状态信息,包括内存,硬盘,和使用erlong的版本信息
         rabbitmqctl list_queues     //查看所有队列消息
 
四、C#客户端使用

1、服务端代码

  1.  
    namespace Server
  2.  
    {
  3.  
    class Program
  4.  
    {
  5.  
    static void Main(string[] args)
  6.  
    {
  7.  
    var factory = new ConnectionFactory() { HostName = "localhost" };
  8.  
    using (var connection = factory.CreateConnection())
  9.  
    {
  10.  
    using (var channel = connection.CreateModel())
  11.  
    {
  12.  
    //定义队列(hello为队列名)
  13.  
    channel.QueueDeclare("hello", false, false, false, null);
  14.  
     
  15.  
    var consumer = new QueueingBasicConsumer(channel);
  16.  
    channel.BasicConsume("hello", true, consumer);
  17.  
     
  18.  
    Console.WriteLine(" [*] Waiting for messages." +
  19.  
    "To exit press CTRL+C");
  20.  
    while (true)
  21.  
    {
  22.  
    //接受客户端发送的消息并打印出来
  23.  
    var ea = (BasicDeliverEventArgs)consumer.Queue.Dequeue();
  24.  
     
  25.  
    var body = ea.Body;
  26.  
    var message = Encoding.UTF8.GetString(body);
  27.  
    Console.WriteLine(" [x] Received {0}", message);
  28.  
    }
  29.  
    }
  30.  
    }
  31.  
    }
  32.  
    }
  33.  
    }

2、客户端代码

  1.  
    namespace Client
  2.  
    {
  3.  
    class Program
  4.  
    {
  5.  
    static void Main(string[] args)
  6.  
    {
  7.  
    var factory = new ConnectionFactory() { HostName = "localhost" };
  8.  
    using (var connection = factory.CreateConnection())
  9.  
    {
  10.  
    using (var channel = connection.CreateModel())
  11.  
    {
  12.  
    //定义队列(hello为队列名)
  13.  
    channel.QueueDeclare("hello", false, false, false, null);
  14.  
    //发送到队列的消息,包含时间戳
  15.  
    string message = "Hello World!" + "_" + DateTime.Now.ToString();
  16.  
    var body = Encoding.UTF8.GetBytes(message);
  17.  
    channel.BasicPublish("", "hello", null, body);
  18.  
    Console.WriteLine(" [x] Sent {0}", message);
  19.  
    }
  20.  
    }
  21.  
    }
  22.  
    }
  23.  
    }
如果启动服务端前启动了客户端,消息就会存放到队列中,da
 
五、RabbitMQ GUID使用
       1、官方提供的一个web管理工具(rabbitmq_management)
       2、安装了Rabbitmq后,默认也安装了该管理工具,执行命令即可启动
            rabbitmq-plugins enable rabbitmq_management(先定位到rabbitmq安装目录)  
            
        3、启动后,直接在浏览器地址输入:http://localhost:15672/   账号密码都是:guest    
 
 

六、异常问题

1、None of the specified endpoints were reachable

生产端和消费端的factory参数要统一

  var factory = new ConnectionFactory();
  factory.UserName = QueueSetttiong.UserName; //用户名,对应Management工具的admin-->user
  factory.Password = QueueSetttiong.Password; //密码,对应Management工具的admin-->密码
  factory.HostName = QueueSetttiong.HostName; //本地部署服务直接用hostname即可
  factory.Port = AmqpTcpEndpoint.UseDefaultPort;
  factory.VirtualHost = QueueSetttiong.VirtualHost; //使用默认值: "/"
  factory.Protocol = Protocols.DefaultProtocol;

[转]Rabbitmq的使用及Web监控工具使用的更多相关文章

  1. Rabbitmq的使用及Web监控工具使用

    本文转载自:https://www.cnblogs.com/gossip/p/4475978.html windows安装手册请参考:http://www.rabbitmq.com/install-w ...

  2. 消息队列系列(二):.Rabbitmq的使用及Web监控工具使用

    一.文档资料        1.官方网站:http://www.rabbitmq.com/        2.安装教程:http://www.rabbitmq.com/install-windows. ...

  3. Web监控工具

    .Rabbitmq的使用及Web监控工具使用   一.文档资料        1.官方网站:http://www.rabbitmq.com/        2.安装教程:http://www.rabb ...

  4. Erlang Web 监控工具

    转自http://www.cnblogs.com/me-sa/archive/2012/04/17/erlang-web-monitor.html  Erlang已经提供了一系列工具查看运行时状态查看 ...

  5. rabbitmq启用和禁用web界面管理插件

    rabbitmq默认安装启动以后,是没有开启web管理界面的,通过rabbitmq-plugins list命令可列出插件的启用和禁用状态. 使用rabbitmq-plugins enable xxx ...

  6. rabbitMQ教程(五)rabbitmq 指令 以及解决web管理界面无法使用guest用户登录

    安装最新版本的rabbitmq(3.3.1),并启用management plugin后,使用默认的账号guest登陆管理控制台,却提示登陆失败. 翻看官方的release文档后,得知由于账号gues ...

  7. Django开发Web监控工具-pyDash

      今天发现了一个比较有意思的监控工具,是基于Django开发的,开发大牛已经开放了源代码,向大牛致敬,同时研究研究,目前感觉这个监控比较直观,可以针对个人服务器使用,同时涉及的环境比较简单,部署起来 ...

  8. Mycat Web监控工具

    简介 Mycat-web 是 Mycat 可视化运维的管理和监控平台,弥补了 Mycat 在监控上的空白.帮 Mycat 分担统计任务和配置管理任务.Mycat-web 引入了 ZooKeeper 作 ...

  9. 消息队列系列(三):.Rabbitmq Trace的使用

       一.什么是Trace        Trace是Rabbitmq用于记录每一次发送的消息,方便使用Rabbitmq的开发者调试.排错.可通过插件形式 提供可视化界面   二.Trace实现概况 ...

随机推荐

  1. noip第32课资料

  2. 学习Python第六天

    今天我们讲讲数据类型中的集合,博客写得有点糙,后续应该要进行优化优化了........ 集合:无序,不重复的数据组合,主要作用:去重,把一个列表变成集合,就自动去重了 基本语法:S = {1}类型为集 ...

  3. C语言setjmp用法解析

    https://www.cnblogs.com/hbiner/p/3261437.html

  4. AFNetWorking使用自签证书验证

    In order to validate a domain name for self signed certificates, you MUST use pinning 上述问题的解决方法: sec ...

  5. 自学自用 = B站(操作系统_清华大学(向勇、陈渝)) 未完待续。。

    视频地址 https://www.bilibili.com/video/av6538245 介绍 本篇博客,旨在记录视频学习的要点,所以格式随意, 方便本人日后自考和回忆,有兴趣的朋友可以评论讨论. ...

  6. Javascript高级编程学习笔记(33)—— 客户端检测(2)怪癖检测

    怪癖检测 和能力检测类似,但其目标不同 能力检测的目的是判断浏览器支不支持某种能力 而怪癖检测的目的是判断浏览器是否存在某些缺陷 这种时候需要我们执行一段代码来判断浏览器是否有这样的缺陷 或者说是怪癖 ...

  7. 从零开始单排学设计模式「策略模式」黑铁 II

    阅读本文大概需要 1.7 分钟. 本篇是设计模式系列的第三篇,虽然之前也写过相应的文章,但是因为种种原因后来断掉了,而且发现之前写的内容也很渣,不够系统.所以现在打算重写,加上距离现在也有一段时间了, ...

  8. HTTP 协议常见的状态码

    HTTP状态码负责表示客户端HTTP请求的返回结果.标记服务器端的处理是否正常.通知出现的错误等工作. 状态码的类别: 记录在RFC2616上的HTTP状态码有40种,再加上WebDAV等的扩展,数量 ...

  9. 快速熟悉Matlab

    一 获取数组长度: d = size(X) [m,n] = size(X) m = size(X,dim) [d1,d2,d3,...,dn] = size(X) 二  注释和取消注释. 点击ctrl ...

  10. PHP的会话控制

    页面数据的作用域: 当前页共享数据:变量.常量 两个页面间传递数据:get,post 跟踪用户的多页面数据共享(会话):session.cookie 全局数据共享:文件.数据库.memcached C ...