推荐一款稳定的基于C编写的MQTT Client开源库 《cMQTT》
在上一篇文章中,我们使用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转发消息,不管
订阅者有多少个。