MQ入门示例

Posted Alfred_Xu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MQ入门示例相关的知识,希望对你有一定的参考价值。

RabbitMQ使用

参考链接地址:http://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html

建立两个控制台程序,一个用于发送,一个用于接收,服务端用的是别人搭好的环境,暂时不管

通过NuGet获取需要引用的库输入RabbitMQ搜索即可,using RabbitMQ.Client;

发送端:

static void Main(string[] args)
        {
            var factory = new ConnectionFactory() { HostName = "XXX.33.55.XXX", Port = XXXX, UserName = "XXX", Password = "XXX" };
            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);
            }

            Console.WriteLine(" Press [enter] to exit.");
            Console.ReadLine();
        }

接收端:

static void Main(string[] args)
        {
            var factory = new ConnectionFactory() { HostName = "XXX.33.55.XXX", Port = XXXX, UserName = "XXX", Password = "XXX" };
            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;
                    var message = Encoding.UTF8.GetString(body);
                    Console.WriteLine(" [x] Received {0}", message);
                };
                channel.BasicConsume(queue: "hello",
                                     noAck: true,
                                     consumer: consumer);

                Console.WriteLine(" Press [enter] to exit.");
                Console.ReadLine();
            }
        }

 

以上是关于MQ入门示例的主要内容,如果未能解决你的问题,请参考以下文章

需要示例代码片段帮助

SpringBoot入门 MQ使用

MQ入门

处理屏幕旋转上的片段重复(带有示例代码)

MQ(队列消息的入门)

rabbit-mq学习1:基本概念和快速入门