![6e5d433e65167071269395c049f88bbb.png](https://i-blog.csdnimg.cn/blog_migrate/9a395ba78886eb1a354973000bdf7895.jpeg)
环境搭建
1.由于RabbitMQ使用Erlang语言编写,所以先安装Erlang语言运行环境
零零散散的人:Erlang环境搭建(Windows)zhuanlan.zhihu.com![c9a58d104f8de4d61c74f407781df004.png](https://i-blog.csdnimg.cn/blog_migrate/78fb2ae10764d3a1b1a0a5188c451d70.jpeg)
2.安装RabbitMQ服务端
https://www.rabbitmq.com/www.rabbitmq.com![1ad12a7eacf7d44c8d471ddd62e2cd90.png](https://i-blog.csdnimg.cn/blog_migrate/904bfe489b0461002a048028e16280b6.jpeg)
![3f9d52679d3f54fdcbb33decc9fc92ba.png](https://i-blog.csdnimg.cn/blog_migrate/fd4906beadad4cda06d4b9a7b119cba3.jpeg)
运行cmd,进入rabbitMQ服务安装目录的sbin目录下,运行如下三条命令:
rabbitmq-service install
rabbitmq-service enable
rabbitmq-service start
![95359f6ed2104c8a5f4ad8e966f418c5.png](https://i-blog.csdnimg.cn/blog_migrate/d484c3e8179c1ab6dac05eefcb34e4c8.jpeg)
假如显示node没有连接上,需要到C:Windows目录下,将.erlang.cookie文件,拷贝到用户目录下 C:Users{用户名},这是Erlang的Cookie文件,允许与Erlang进行交互。
使用命令查看用户:
rabbitmqctl list_users
![bd4a60fe7ff24e84906977746ccd1d9b.png](https://i-blog.csdnimg.cn/blog_migrate/4cb056481a6ed053531390092e20e2b9.png)
RabbitMQ会为我们创建默认的用户名guest和密码guest,guest默认拥有RabbitMQ的所有权限。
一般的,我们需要新建一个我们自己的用户,设置密码,并授予权限,并将其设置为管理员,可以使用下面的命令来执行这一操作:
rabbitmqctl add_user lq lqq //创建用户JC密码为JayChou
rabbitmqctl set_permissions lq ".*" ".*" ".*" //赋予JC读写所有消息队列的权限
rabbitmqctl set_user_tags lq administrator //分配用户组
![921a678831256389b46a06b1bb151729.png](https://i-blog.csdnimg.cn/blog_migrate/0eb81654fe11a30baf9a6565f8775727.jpeg)
修改JC密码为123:
rabbitmqctl change_password lq 123
删除用户JC:
rabbitmqctl delete_user lq
3.下载RabbitMQ的Client端dll
https://www.rabbitmq.com/releases/rabbitmq-dotnet-client/www.rabbitmq.com![8b3543a1db318de5213c902c59853223.png](https://i-blog.csdnimg.cn/blog_migrate/23b426e78ec93dd5832b995463fe2b69.jpeg)
![5c8821694be2ec4571c28314e2bb0969.png](https://i-blog.csdnimg.cn/blog_migrate/fa8e0617556d9411dae948f6eb844e10.jpeg)
解压,我们需要的是这个文件,以后会引用到vs的项目中:
![8b1e83ab1d15c1cd9fe510c38f5292f8.png](https://i-blog.csdnimg.cn/blog_migrate/b471e447fe4f3358ffdbdbce2dee6333.png)
Hello Word
发送端代码:
namespace rabbitsend
{
class Program
{
static void Main(string[] args)
{
var factory = new ConnectionFactory();
factory.HostName = "localhost";//RabbitMQ服务在本地运行
factory.UserName = "guest";//用户名
factory.Password = "guest";//密码
using (var connection = factory.CreateConnection())
{
using (var channel = connection.CreateModel())
{
channel.QueueDeclare("hello", false, false, false, null);//创建一个名称为hello的消息队列
string message = "Hello World"; //传递的消息内容
var body = Encoding.UTF8.GetBytes(message);
channel.BasicPublish("", "hello", null, body); //开始传递
Console.WriteLine("已发送: {0}", message);
Console.ReadLine();
}
}
}
}
}
接收端代码:
static void Main(string[] args)
{
var factory = new ConnectionFactory();
factory.HostName = "localhost";
factory.UserName = "guest";
factory.Password = "guest";
using (var connection = factory.CreateConnection())
{
using (var channel = connection.CreateModel())
{
channel.QueueDeclare("hello", false, false, false, null);
var consumer = new EventingBasicConsumer(channel);
channel.BasicConsume("hello", false, consumer);
consumer.Received += (model, ea) =>
{
var body = ea.Body;
var message = Encoding.UTF8.GetString(body);
Console.WriteLine("已接收: {0}", message);
};
Console.ReadLine();
}
}
rabbitmq_management插件安装教程:
rabbitmq提供了一个图形的管理界面,用于管理、监控rabbitmq的运行情况,它是以插件的形式提供的,如果要启用需要启用插件
同样启动cmd,进入rabbitMQ服务安装目录的sbin目录下,运行如下命令
rabbitmq-plugins enable rabbitmq_management
然后重启服务(右键点击重启)
![5d21ee246cde0ff4890f153fae7ce7c7.png](https://i-blog.csdnimg.cn/blog_migrate/5749639587d723c0393cc98b4334b775.jpeg)
rabbitmq_management默认地址为:http://ip:15672或http://ip:55672
输入用户名密码(默认用户名,密码:guest,guest)
![888a9c3ac77792c36eaddc6e7c82db03.png](https://i-blog.csdnimg.cn/blog_migrate/3ddb5fe7daddf5a0d5bc5b0c470f97fc.jpeg)