netcore RabbitMQ入门--win10开发环境
安装
1.进入rabbitMQ官网下载安装包

2.点击安装包安装的时候会提示需要先装erlang

点击是会自动跳转到erlang的下载界面如果没有跳转可以直接点击这里下载,根据系统选择下载包

下载完之后双击exe安装包进行安装,一直下一步就行了(如果不想装在c盘那就改一下盘符)
3.装完了erlang,回去找到刚才第一步下载的rabbitMQ的安装包双击安装,一样的一直下一步就行了(中间遇到需要给它网络点确定就可以了)
4.以上步骤完成了rabbitMQ服务的安装,为了方便操作和管理下面我们安装可视化管理界面
4.1打开cmd界面进入rabbitMQ的安装目录下的sbin目录

4.2根据官网步骤执行命令rabbitmq-plugins enable rabbitmq_management

4.3安装成功找到安装目录找到rabbitmq-server.bat双击运行(如果有错就右键以管理员身份运行)出现如下界面

4.4打开浏览器访问http://localhost:15672/

4.5默认用户和密码都是guest直接登录看下结果

代码实现
1,创建demo生产者控制台项目

2,通过nuget安装RabbitMQ.Client

3,在主函数Main里面写生产者代码这里先生产5条消息只是简单的demo(特别提醒代码里的端口号是5672不是进入管理地址的15672)


string hostName = "192.168.50.176";
int port = ;//默认端口5672;前端界面的端口是15672特别注意不要混淆
string userName = "wyb";
string password = "";
string virtualHost = "/"; //创建一个连接工厂
var factory = new ConnectionFactory();
factory.UserName = userName;
factory.Password = password;
factory.HostName = hostName;
factory.Port = port;
factory.VirtualHost = virtualHost;
//创建一个连接,此时可以在rabbitmq后台Web管理页面中的Connections中看到一个连接生成
//一个连接可以创建多个通道
var connection = factory.CreateConnection(); string queueName = "q1";//队列名称 //创建一个通道
//此时可以在rabbitmq后台Web管理页面中的Channels中看到一个新通道生成
var channel = connection.CreateModel();
//给通道绑定一个队列,队列如果不存在,则会创建新队列,如果队列已存在,那么参数一定要正确,特别是arguments参数,否则会报错
var arguments = new Dictionary<string, object>() { { "x-queue-type", "classic" } };
channel.QueueDeclare(queue: queueName, durable: true, exclusive: false, autoDelete: false, arguments: arguments); //发布5条消息
for (var i = ; i < ; i++)
{
var buffer = Encoding.UTF8.GetBytes(i.ToString());
channel.BasicPublish("", queueName, null, buffer);
Console.WriteLine("发布消息:"+i);
}
channel.Close(); Console.ReadKey();
4,f5运行项目看到如下结果就表示成功



5,同生产者项目一样的步骤创建一下消费者控制台项目(一样nuget安装RabbitMQ.Client)

6,在消费者项目的main函数里写消费者的代码


string hostName = "192.168.50.176";
int port = ;//默认端口5672;前端界面的端口是15672特别注意不要混淆
string userName = "wyb";
string password = "";
string virtualHost = "/"; //创建一个连接工厂
var factory = new ConnectionFactory();
factory.UserName = userName;
factory.Password = password;
factory.HostName = hostName;
factory.Port = port;
factory.VirtualHost = virtualHost;
//创建一个连接,此时可以在rabbitmq后台Web管理页面中的Connections中看到一个连接生成
//一个连接可以创建多个通道
var connection = factory.CreateConnection(); string queue = "q1";//队列名称 //创建一个通道
//此时可以在rabbitmq后台Web管理页面中的Channels中看到一个新通道生成
var channel = connection.CreateModel();
//给通道绑定一个队列,队列如果不存在,则会创建新队列,如果队列已存在,那么参数一定要正确,特别是arguments参数,否则会报错
var arguments = new Dictionary<string, object>() { { "x-queue-type", "classic" } };
channel.QueueDeclare(queue: queue, durable: true, exclusive: false, autoDelete: false, arguments: arguments);
//channel.BasicQos(2, 2, false);//设置QOS //在通道中定义一个事件消费者
EventingBasicConsumer consumer = new EventingBasicConsumer(channel);
consumer.Received += (sender, e) =>
{
var body = e.Body.Span;
var message = Encoding.UTF8.GetString(body);
Console.WriteLine($"接收到消息:{message}"); Thread.Sleep();//暂停一下 //通知消息已被处理,如果没有,那么消息将会被重复消费
channel.BasicAck(e.DeliveryTag, false);
};
//ack设置成false,表示不自动提交,那么就需要在消息被消费后,手动调用BasicAck去提交消息
channel.BasicConsume(queue, false, consumer); Console.ReadKey();
7运行消费者项目结果如下


结束
简单操作到此,后面再介绍实际应用
netcore RabbitMQ入门--win10开发环境的更多相关文章
- JavaWeb零基础入门-02 开发环境安装
大家好!我又来了,上一篇我们讲了一些基础概念:Html.Web服务器.数据库.Http和JavaWeb三大组件,它们是什么,有什么作用,都有了初步的了解.接下来我们进入学习JavaWeb的第一步,开发 ...
- Golang入门及开发环境配置
Go语言诞生背景 计算机硬件更新频繁,主流编程语言无法发挥多核多CPU的性能 软件系统复杂度不断变高,缺乏简洁高效的编程语言 C/C++运行速度快,但编译速度慢 Go语言特点 静态类型开发语言 静态: ...
- PHP入门教程-开发环境搭建
1.PHP简介: PHP是能让你生成动态网页的工具之一.PHP网页文件被当作一般HTML网页文件来处理并且在编辑时你可以用编辑HTML的常规方法编写PHP. 2.学习需要基础: a.HTML b.Ja ...
- Spring框架入门之开发环境搭建(MyEclipse2017平台)
基于MyEclipse2017平台搭建Spring开发环境,这里MyEclipse已将Spring集成好了,我们只需要做一简单配置即可 一.环境配置 OS:Windows7 64位 IDE工具:MyE ...
- spring boot + vue + element-ui全栈开发入门——windows开发环境
一.node.js开发环境 windows系统,去网站https://nodejs.org/en/download/,下载对应的安装程序,并安装Windows Installer (.msi) 接下 ...
- Golang 入门 : 打造开发环境
工欲善其事,必先利其器!在学习和使用 Golang 时如果有一款得心应手的 IDE,相信一定可以事半功倍.虽然很多 IDE 都提供了对 Golang 的支持,但真正好用的没几个.VSCode 算是不错 ...
- springboot 入门2 开发环境与生产环境采用不同配置问题
目开发中我们通常有两套配置信息 分别配置了我们的数据源信息等? 那么我们要如何不通过修改配置文件大量配置来实现简单的修改与配置来实现相关配置加载功能 首先springboot 有一个核心的配置文件a ...
- 1-ESP8266 SDK开发基础入门篇--开发环境搭建
因为今天终于做好了自己的另一块工控板,所以我就开始写基础公开篇的内容,希望自己小小的努力能够帮到大家 自己做的另一块板子 https://www.cnblogs.com/yangfengwu/cate ...
- Angular入门,开发环境搭建,使用Angular CLI创建你的第一个Angular项目
前言: 最近一直在使用阿里的NG-ZORRO(Angular组件库)开发公司后端的管理系统,写了一段时间的Angular以后发现对于我们.NET后端开发而言真是非常的友善.因此这篇文章主要是对这段时间 ...
随机推荐
- SpringMVC和Spring
SpringMVC和Spring汇总 转载:https://www.cnblogs.com/doudouxiaoye/p/5693399.html 1. 为什么使用Spring ? 1). 方便解耦, ...
- 实战笔记丨JDBC问题定位指南
JDBC(Java数据库连接性)是Java API,用于管理与数据库的连接,发出查询和命令以及处理从数据库获得的结果集.JDBC在1997年作为JDK 1.1的一部分发布,是为Java持久层开发的首批 ...
- 深入理解RocketMQ(四)--消息存储
一.MQ存储分类 MQ存储主要分为以下三类: 文件系统:RocketMQ/Kafka/RabbitMQ 关系型数据库DB:ActiveMQ(默认采用的KahaDB做消息存储)可选用JDBC的方式来做消 ...
- 《UNIX环境高级编程》(APUE) 笔记第四章 - 文件和目录
4 - 文件和目录 1. 函数 stat.fstat.fstatat 和 lstat #inlcude <sys/stat.h> int stat(const char *restrict ...
- 洛谷 P1828 【香甜的黄油 Sweet Butter】
这道题应该就是模板题了吧qwq. 统计每一个牧场的放糖的情况,选择最优的即可 有亿点水的绿题. #include <bits/stdc++.h> using namespace std; ...
- Docker(六)容器数据卷
容器数据卷 docker的理念回顾 将应用和环境打包成一个镜像 需求:数据可以持久化和同步 使用数据卷 指定路径挂载 docker run -it -v 主机目录:容器内目录 # 测试 [root@h ...
- win中mysql安装
mysql安装: https://www.mysql.com/>官网 下载 [DOWNLOADS]----[MySQL Community Server]社区版---5.6---No thank ...
- Springboot 2.X的RequestMapping 的映射路径怎么看不到了?
在使用spring boot 1.X的时候我们可以在console中看到mapping的映射路径 2020-01-12 19:10:19.996 INFO 2711 --- [ main] s.w.s ...
- C#客户端通过安全凭证调用webservice
怎么解决给XML Web services 客户端加上安全凭据,从而实现调用安全的远程web方法?首先,有远程web服务Service继承自System.Web.Services.Protocols. ...
- 小程序拾色器(颜色选择器)组件mini-color-picker
特性: 现有方案分析 we-color-picker 需注意组件定位,操作不跟手不流畅,配置复杂.其定位会撑开原有页面,体验不佳.滑动距离按像素区分(固定),需考虑设备分辨率,不利于多端. Papae ...