简单配置RabbitMQ
准备工作
首先是要下载rabbitmq的依赖项Erlang
https://www.erlang.org/downloads
选择自己系统的版本下载并安装
之后下载安装RabbitMQ服务器
https://www.rabbitmq.com/docs/download
选择自己系统的版本我这边是下载的二进制文件
安装RabbitMQ服务器并启动服务
进到文件夹sbin
在里面使用命令提示符
执行下面命令安装服务器
rabbitmq-service.bat install
执行下面命令启动服务
rabbitmq-service.bat start
在C#中使用RabbitMQ
生产者(简单理解这就是服务端):
using System;
using RabbitMQ.Client;
using System.Text;
class Send
{
public static void Main()
{
var factory = new ConnectionFactory() { HostName = "localhost" };
using (var connection = factory.CreateConnection())
using (var channel = connection.CreateModel())
{
// 声明队列
channel.QueueDeclare(queue: "hello",
durable: false,
exclusive: false,
autoDelete: false,
arguments: null);
string message = "Hello World!";
var body = Encoding.UTF8.GetBytes(message);
// 发送消息
channel.BasicPublish(exchange: "",
routingKey: "hello",
basicProperties: null,
body: body);
Console.WriteLine(" [x] Sent {0}", message);
}
}
}
消费者(简单理解这就是客户端):
using System;
using RabbitMQ.Client;
using RabbitMQ.Client.Events;
using System.Text;
class Receive
{
public static void Main()
{
var factory = new ConnectionFactory() { HostName = "localhost" };
using (var connection = factory.CreateConnection())
using (var channel = connection.CreateModel())
{
// 声明队列
channel.QueueDeclare(queue: "hello",
durable: false,
exclusive: false,
autoDelete: false,
arguments: null);
var consumer = new EventingBasicConsumer(channel);
consumer.Received += (model, ea) =>
{
var body = ea.Body.ToArray();
var message = Encoding.UTF8.GetString(body);
Console.WriteLine(" [x] Received {0}", message);
};
channel.BasicConsume(queue: "hello",
autoAck: true,
consumer: consumer);
Console.WriteLine(" Press [enter] to exit.");
Console.ReadLine();
}
}
}