.net core使用MQTT
废话不多说,我们来直接实践……
一、搭建mqtt控制台服务端
新建一个.net core控制台项目,然后使用Nuget添加MQTTnet包,我这里使用2.4版本,注意不同版本,代码写法不相同,如下图
编写代码,详见注释
启动试一下,发现启动成功了
二、搭建第一个客户端client1
同样使用控制台来展示客户端
具体代码如下图
三、搭建客户端client2
注意,客户端2和客户端1代码大致相同,只是为了演示,他们的主题不同,发送的内容不同
四、运行起来看看效果
右键解决方案=》属性,把三个项目都改为启动项,应用并确定后执行 CTRL+F5,见下图
服务器、客户端1、客户端2都成功接收和发布了消息,成功。
五、使用带有dashboard的EMQX来代替自写服务端
下载地址:https://www.emqx.io/downloads/broker/v3.1.1/
windows版本可选择前两个,下载后解压,注意路径不要带有中文,否则会出错
进入解压后的文件夹,在地址栏输入cmd或者打开控制台进入文件夹路径,执行命令如图
启动成功,打开浏览器,输入127.0.0.1:18083,进入登录界面
用户名为 admin
密码 public
登录后如图
使用此界面管理工具测试
点击进入Websocket界面
重新启动vs项目,发现服务端报错了,因为我们已经启动了emqx服务端,占用了同一个tcp端口,直接关掉错误的服务端即可
回到emq界面,发现模拟的client1接收到了client2的消息
然后,我们点击几次Send按钮,发现发送的消息也成功被client2接收到了
至此,测试完毕