net core使用MQTT

一、搭建mqtt控制台服务端

新建一个.net core控制台项目,然后使用Nuget添加MQTTnet包,我这里使用2.4版本,注意不同版本,代码写法不相同,如下图

net core使用MQTT

net core使用MQTT

编写代码,详见注释

net core使用MQTT

net core使用MQTT

net core使用MQTT

net core使用MQTT

启动试一下,发现启动成功了

net core使用MQTT

二、搭建第一个客户端client1

同样使用控制台来展示客户端

具体代码如下图

net core使用MQTT

net core使用MQTT

net core使用MQTT

三、搭建客户端client2

注意,客户端2和客户端1代码大致相同,只是为了演示,他们的主题不同,发送的内容不同

net core使用MQTT

net core使用MQTT

net core使用MQTT

四、运行起来看看效果

右键解决方案=》属性,把三个项目都改为启动项,应用并确定后执行 CTRL+F5,见下图

net core使用MQTT

 net core使用MQTT

服务器、客户端1、客户端2都成功接收和发布了消息,成功。

五、使用带有dashboard的EMQX来代替自写服务端

下载地址:https://www.emqx.io/downloads/broker/v3.1.1/

net core使用MQTT

windows版本可选择前两个,下载后解压,注意路径不要带有中文,否则会出错

进入解压后的文件夹,在地址栏输入cmd或者打开控制台进入文件夹路径,执行命令如图

net core使用MQTT

net core使用MQTT

net core使用MQTT

启动成功,打开浏览器,输入127.0.0.1:18083,进入登录界面

用户名为 admin

密码 public

登录后如图

 net core使用MQTT

使用此界面管理工具测试

点击进入Websocket界面

net core使用MQTT

net core使用MQTT

重新启动vs项目,发现服务端报错了,因为我们已经启动了emqx服务端,占用了同一个tcp端口,直接关掉错误的服务端即可

net core使用MQTT

回到emq界面,发现模拟的client1接收到了client2的消息

net core使用MQTT

然后,我们点击几次Send按钮,发现发送的消息也成功被client2接收到了

net core使用MQTT

至此,测试完毕

net core使用MQTT

上一篇:Docker Kubernetes YAML文件常用指令


下一篇:WebBrowser中注入js后ajax报错No Transport 或message":"拒绝访问。 ","description":"拒绝访问