推荐一款稳定的基于C编写的MQTT Client开源库 《cMQTT》

MQTT协议详解及开发教程(一)MQTT协议概述

MQTT协议详解及开发教程(二)MQTT服务器EMQx搭建

在上一篇文章中,我们使用EMQx搭建了一个MQTT 服务器,有了服务器,自然就需要MQTT Client,在协议了解阶段,

我们还是选择别人做好的MQTT client软件更容易理解MQTT 的整个过程,我们以目前常用的MQTT client软件 MQTT.fx

为例,这个可以在官网下载,也可以在其他网站下载,下载完成后:

1、确保MQTT 服务器已经启动

    最简单的方式时通过浏览器登录 EMQx的Web服务器来确认。

2、打开MQTT.fx ,新建一个 MQTT Client

   

这里 Broker Address 设定的是 127.0.0.1,因为我是在Windows上布置的,所以可以使用该地址,如果是在linux上部署的,则使用对应

的IP地址即可,前提是能够ping通。

Broker Port 默认为1883

Client ID可以是自定义,也可以是软件自动生成

User Name为admin

Password 设定为 password 

其他参数按照默认即可。

特别注意:这里的User Name和Password是需要跟Broker上配置的一致的,也就是本系列文章(二)中的配置。

3、连接 MQTT 服务器

连接成功后如下图所示:

4、EMQx的Databoard查看

      至此,我们看到创建的client01已经连接到MQTT 服务器上。

5、再创建一个MQTT Client,用作测试

     再创建的Client ID 为 client02,查看EMQx的Databoard,确保这两个client已经连接成功

6、client01 订阅一个 topic,topic名称为 subtopic-test

我们在EMQx的Databoard中可以查看是否订阅成功

7、通过 client02 向 subtopic-test 发送消息

8、检查client01 中 订阅的 subtopic-test是否收到消息

   我们发现client01中收到了client02发送的消息。

小结

(1)只要向MQTT服务器 “订阅”某个topic,服务器就会自动创建这一topic,然后另一个client就可以往这个topic发布消息。

(2)MQTT的服务器就是“代理”(broker)功能,负责client管理和消息转发。

(3)只要订阅了某个topic,当这个topic被另一个client发送消息时,broker会自动的向订阅了这一topic的client转发消息,不管

        订阅者有多少个。

    

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐