首页 > 其他 > 详细

rabbitmq topic

时间:2020-08-16 12:14:22      阅读:89      评论:0      收藏:0      [点我收藏+]
            var factory = new ConnectionFactory();
            factory.HostName = "localhost";
            factory.UserName = "admin";
            factory.Password = "admin";

            using (var connection = factory.CreateConnection())
            {
                using (var channel = connection.CreateModel())
                {
                    channel.ExchangeDeclare("topic_dev", "topic", true, false, null);
                    channel.QueueDeclare("login", true, false, false, null);
                    channel.QueueDeclare("signin", true, false, false, null);
                    channel.QueueBind("login", "topic_dev", "#.login.#", null);
                    channel.QueueBind("signin", "topic_dev", "#.signin.#", null);

                    var properties = channel.CreateBasicProperties();
                    properties.DeliveryMode = 2;

                    var consumer = new EventingBasicConsumer(channel);
                    consumer.Received += (model, ea) =>
                    {
                        var body = ea.Body.ToArray();
                        var msg = Encoding.UTF8.GetString(body);
                        Console.WriteLine($"login => {msg}, DeliveryTag={ea.DeliveryTag}, Redelivered={ea.Redelivered}, RoutingKey={ea.RoutingKey}");
                        channel.BasicAck(ea.DeliveryTag, false);
                    };
                    channel.BasicConsume("login", false, consumer);

                    var consumer1 = new EventingBasicConsumer(channel);
                    consumer1.Received += (model, ea) =>
                    {
                        var body = ea.Body.ToArray();
                        var msg = Encoding.UTF8.GetString(body);
                        Console.WriteLine($"signin => {msg}, DeliveryTag={ea.DeliveryTag}, Redelivered={ea.Redelivered}, RoutingKey={ea.RoutingKey}");
                        channel.BasicAck(ea.DeliveryTag, false);
                    };
                    channel.BasicConsume("signin", false, consumer1);

                    string message = "I am jonney";
                    channel.BasicPublish("topic_dev", "login.signin", properties, Encoding.UTF8.GetBytes(message)); 
                    Console.WriteLine($"Send:{message}");

                    Console.ReadLine();
                }
            }

 

rabbitmq topic

原文:https://www.cnblogs.com/jonney-wang/p/13511922.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!