参考:https://my.oschina.net/loveorange/blog/3026473

安装参考链接:

1. 下载自己需要的rabbitmq_server(http://www.rabbitmq.com/download.html)版本和erlang环境(http://www.erlang.org/downloads)。

2. 先安装erlang环境,并添加环境变量。

control panel --> (Viewed By Category)选择System and Security -->选择System

环境变量添加可参考https://my.oschina.net/loveorange/blog/3026473

3. 验证erl是否安装成功

以管理员身份输入cmd打开控制面板,输入erl验证是否安装成功

4. 安装rabbitmq

安装完成后 cmd 命令到安装目录下的sbin 目录 键入命令: rabbitmq-plugins.bat enable rabbitmq_management  开启插件

键入: rabbitmq-server  启动MQ

浏览器http://localhost:15672/ 访问MQ的主页 初始化密码和用户名都是: guest

5. rabbitmq在.NET中的简单应用

一、 程序准备

(1)浏览器中打开QM主页后,添加用户。(如果没有添加有权限的用户,则无法在程序中创建连接

(2)初始添加用户后,用户没有权限,显示如下:

此时, 鼠标点击用户名test,点击set permission 为该用户设置权限

 二、 程序实现

生产者:

namespace Send
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Start!");
IConnectionFactory conFactory = new ConnectionFactory//创建连接工厂对象
{
HostName = "10.64.228.211",
Port = ,
UserName = "wl",
Password = ""
};
using (IConnection con = conFactory.CreateConnection())//创建连接
{
using (IModel channel = con.CreateModel())//创建通道
{
// 创建交换机
string queueName = "testQueue1";
string exchangeName = "exchangeTest1";
string routingKey = "routingKeyTest1";
channel.ExchangeDeclare(exchangeName, ExchangeType.Direct); //创建一个消息队列并绑定到交换机上
channel.QueueDeclare(queueName, true, false, false, null);
channel.QueueBind(queueName, exchangeName,routingKey,null); //Console.WriteLine("消息内容:");
string message = string.Empty;
for (int i= ; i< ; i++)
{
message = Thread.CurrentThread.ManagedThreadId + i.ToString();
byte[] body = Encoding.UTF8.GetBytes(message);//消息内容
//发送消息到消息队列
channel.BasicPublish(exchangeName, routingKey, null, body);
} // Console.Write("成功发送消息:" + message);
}
} }
}
}

启动该服务,可以在rabbitmq的主页中看到接收的消息。

消费者

namespace Receive
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
IConnectionFactory conFactory = new ConnectionFactory//创建连接工厂对象
{
HostName = "10.64.228.211",
Port = ,
UserName = "wl",
Password = ""
};
using (IConnection conn = conFactory.CreateConnection())//创建连接
{
using (IModel channel = conn.CreateModel())//创建通道
{
// 取出消息
string queueName = "testQueue1"; //创建消费者对象
var consumer = new EventingBasicConsumer(channel);
consumer.Received += (model, ea) =>
{
byte[] message = ea.Body;//接收到的消息
Encoding.UTF8.GetString(message);
}; //消费者开启监听
var consumeResult = channel.BasicConsume(queueName, true,consumer);
Console.ReadKey();
}
} }
}
}

启动消费服务,mq会消费队列中消息。

显示消息已经被消费。

rabbitmq安装及简单demo练习的更多相关文章

  1. RabbitMQ安装以及简单操作应用(针对Windows和C#)

    1.RabbitMQ安装 1.1下载并安装Erlang https://www.erlang.org/downloads 一直点next就安装好了.我直接使用了默认的安装目录.否则的话,应该需要配置一 ...

  2. 【RabbitMQ】ubuntu下RabbitMQ安装与简单使用

    参考:https://blog.csdn.net/the_fool_/article/details/80570971 1.安装: https://blog.csdn.net/a295277302/a ...

  3. 【RabbitMQ】RabbitMQ在Windows的安装和简单的使用

    版本说明 使用当前版本:3.5.4 安装与启动 在官网上下载其Server二进制安装包,在Windows上的安装时简单的,与一般软件没什么区别. 安装前会提示你,还需要安装Erlang,并打开下载页面 ...

  4. 在cengos中安装zabbix server/agent, 并创建一个简单demo

    添加zabbix更新源 rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch ...

  5. python中RabbitMQ的使用(安装和简单教程)

    1,简介 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现的产品,RabbitMQ是一个消息代理,从"生产者"接收消息 ...

  6. RabbitMQ学习系列(二): RabbitMQ安装与配置

    上一篇,简单介绍了RabbitMQ的情况还有一些相关的概念,这一篇,会讲讲 RabbitMQ安装与配置. 1.安装 Rabbit MQ 是建立在强大的Erlang OTP平台上,因此安装RabbitM ...

  7. RabbitMQ安装实践

    背景: 最近一个项目的测试环境需要用到rabbitMQ,但运维和开发都没时间,于是自己试着安装了一发,发现安装很简单,记一笔如下: 安装步骤 查看官网上有不同的安装方法,可使用下载安装包或者直接通过其 ...

  8. RabbitMQ安装配置

    安装RabbitMQ windows下的安装是非常简单的,我们需要准备两个东西 erlang的环境  下载windows和与之对象的操作系统位数安装包 http://www.erlang.org/do ...

  9. RabbitMQ 一二事 - 简单队列使用

    消息队列目前流行的有三种 1. RabbitMQ 2. ActiveMQ 3. Kafka 这三种都非常强大,RabbitMQ目前用的比较多,也比较流行,阿里也在用 ActiveMQ是阿帕奇出品,但是 ...

随机推荐

  1. java实现下划线转驼峰

    废话少说,直接上代码 import java.util.regex.Matcher; import java.util.regex.Pattern; public class Temp { publi ...

  2. Ubuntu下C++编译指令总结

    本实例只是简单的调用了一个libcurl.a的静态库,实例代码如下: #include <curl/curl.h> #include <iostream> using name ...

  3. Essay写作:Conclusion部分写作辅导

    论文写到最后,一般正文就要以Conclusion结束了.Conclusion部分是一篇论文的正文结尾(the last section of a paper,last paragraph),主要是客观 ...

  4. c#使用Socket实现局域网内通信

    服务器端代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Da ...

  5. LeetCode455 分发饼干(简单贪心—Java优先队列简单应用)

    题目: 假设你是一位很棒的家长,想要给你的孩子们一些小饼干.但是,每个孩子最多只能给一块饼干.对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸:并且每块饼干 j ,都有 ...

  6. 动手实验01-----vCenter 微软AD认证配置与用户授权

    环境说明: AD域->   centaline.net 阅读目录: 1. 配置与AD认证源 2.权限角色 1. 配置与AD认证源 登陆vCenter后,在 系统管理 -> 配置 -> ...

  7. 完整版excel上传导入读写批量数据并将反馈结果写入远程exel中

    思路:excel的读写借助于poi框架,在写入远程的时候,是不能直接写入的,本博主将传入的文件再次拉下来写到项目临时文件中,然后,在临时文件中写入,然后,以同样的名称路径覆盖掉远程的就可以了,稍微有点 ...

  8. 干货分享|Critique Essay写作解析

    Critique essay要求学生对另一篇文章进行批判性分析,通常是一本书.期刊文章或论文.不管你的专业是什么,你可能会被要求在某个时候写一篇Critique essay.拿心理学专业举例,评论一篇 ...

  9. Javascript观察者模式(Object.defineProperty、Reflect和Proxy实现)

    什么是观察者模式? 答:在数据发生改变时,对应的处理函数自动执行.函数自动观察数据对象,一旦对象有变化,函数就会自动执行. 参考<原生JavaScript实现观察者模式>(https:// ...

  10. ACM-单词接龙

    题目描述:单词接龙 问题描述:单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们己知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙" 中出现 ...