设为首页 加入收藏

TOP

C# Queue与RabbitMQ的爱恨情仇(文末附源码):Q与MQ消息队列简单应用(二)(二)
2019-09-17 17:49:01 】 浏览:32
Tags:Queue RabbitMQ 爱恨 情仇 文末附 源码 消息 队列 简单 应用
lient;
using RabbitMQ.Client.Events; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MessageQueueServer { class Program { static void Main(string[] args) { //消费者 ConnectionFactory factory = new ConnectionFactory(); factory.HostName = "127.0.0.1"; //默认端口 factory.Port = 5672; using (IConnection conn = factory.CreateConnection()) { using (IModel channel = conn.CreateModel()) { //在MQ上定义一个持久化队列,如果名称相同不会重复创建 channel.QueueDeclare("MyRabbitMQ", true, false, false, null); //输入1,那如果接收一个消息,但是没有应答,则客户端不会收到下一个消息 channel.BasicQos(0, 1, false); Console.WriteLine("Listening..."); //在队列上定义一个消费者 QueueingBasicConsumer consumer = new QueueingBasicConsumer(channel); //消费队列,并设置应答模式为程序主动应答 channel.BasicConsume("MyRabbitMQ", false, consumer); while (true) { //阻塞函数,获取队列中的消息 BasicDeliverEventArgs ea = (BasicDeliverEventArgs)consumer.Queue.Dequeue(); byte[] bytes = ea.Body; string str = Encoding.UTF8.GetString(bytes); Console.WriteLine("读取队列消息:" + str.ToString()); //回复确认 channel.BasicAck(ea.DeliveryTag, false); } } } } } }

运行代码,读取队列里面的内容,遵循先入先出原则。

这样队列的数据就读取到了。

 

总结:

这是一个简单的消息队列的应用,写的比较粗浅,具体需要结合实际应用项目编写。

另外感谢大家的支持^_^

 

 

 

 

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇机器学习框架ML.NET学习笔记【8】.. 下一篇Ocelot(五)- 流量限制、服务质量

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目