首页 > 代码库 > MQ入门示例
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入门示例
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。