MQTT初步使用
2015-08-16 18:56
411 查看
1. 下载并安装Mosquitto(MQTT的代理,也可以用IBM的ISMB,Mosquitto要优于ISMB)
http://mosquitto.org/download/
参考 搭建Android MQTT推送平台
MQTT协议的简单介绍和服务器的安装
[移动] Mosquitto简要教程(安装/使用/测试)
2. 简单测试
一个完整的MQTT示例包括一个代理器,一个发布者和一个订阅者。测试分为以下几个步骤:
【1】启动服务mosquitto。
【2】订阅者通过mosquitto_sub订阅指定主题的消息。
【3】发布者通过mosquitto_pub发布指定主题的消息。
【4】代理服务器把该主题的消息推送到订阅者。
2.1 启动代理服务
mosquitto( -c mosquitto.conf)
2.2 订阅主题
mosquitto_sub -v -t sensor
【-t】指定主题,此处为sensor
【-v】打印更多的调试信息
2.3 发布内容
mosquitto_pub -t sensor -m 12
【-t】指定主题
【-m】指定消息内容
2.4 运行结果
当发布者推送消息之后,订阅者获得以下内容
sensor 12
参考 MQTT学习笔记——MQTT协议体验 Mosquitto安装和使用
开发Java程序
3.下载mqtt-client-1.7-uber.jar包
fusesource版本:mqtt-client-1.7-uber.jar
下载地址:https://github.com/fusesource/mqtt-client
fusesource提供三种mqtt client api: 阻塞API,基于Futur的API和回调API。其中,回调API是最复杂的也是性能最好的,另外两种均是对回调API的封装。
参考 MQTT (mosquitto)环境搭建
MQTT:Demo,该demo用java编写,包括所需要的jar包。
运行步骤:
3.1 启动代理服务
mosquitto( -c mosquitto.conf)
3.2 运行java类WSMQTTClientSubscribe
3.3 根据代码中指定的主题topic进行发布消息:
比如:public static Topic[] topics1 = {new Topic("china/beijing",QoS.EXACTLY_ONCE),new Topic("china/tianjin",QoS.AT_LEAST_ONCE),new Topic("china/shandong",QoS.AT_MOST_ONCE)};
则topic为上行代码中的topics1 数组,该topic用于发布消息。
3.4 发布消息(同步骤2.3)
D:\Program Files\mosquitto>mosquitto_pub -t china/beijing -m [{'name':'lhn'},{'a
ge',12}]
3.5 在Java console中查看结果:
八月 16, 2015 6:54:15 下午 com.lzc.mqtt.WSMQTTClientSubscribe main
信息: MQTTClient Message Topic=china/beijing Content :[{'name':'lhn'},{'age',12}]
发现只需要一个mosquitto代理,就可以实现message的发布和订阅,并不需要servlet或者tomcat等。
下一步:
用这个链接中的实现web接口在浏览器中访问发布的消息。
http://mosquitto.org/download/
参考 搭建Android MQTT推送平台
MQTT协议的简单介绍和服务器的安装
[移动] Mosquitto简要教程(安装/使用/测试)
2. 简单测试
一个完整的MQTT示例包括一个代理器,一个发布者和一个订阅者。测试分为以下几个步骤:
【1】启动服务mosquitto。
【2】订阅者通过mosquitto_sub订阅指定主题的消息。
【3】发布者通过mosquitto_pub发布指定主题的消息。
【4】代理服务器把该主题的消息推送到订阅者。
2.1 启动代理服务
mosquitto( -c mosquitto.conf)
2.2 订阅主题
mosquitto_sub -v -t sensor
【-t】指定主题,此处为sensor
【-v】打印更多的调试信息
2.3 发布内容
mosquitto_pub -t sensor -m 12
【-t】指定主题
【-m】指定消息内容
2.4 运行结果
当发布者推送消息之后,订阅者获得以下内容
sensor 12
参考 MQTT学习笔记——MQTT协议体验 Mosquitto安装和使用
开发Java程序
3.下载mqtt-client-1.7-uber.jar包
fusesource版本:mqtt-client-1.7-uber.jar
下载地址:https://github.com/fusesource/mqtt-client
fusesource提供三种mqtt client api: 阻塞API,基于Futur的API和回调API。其中,回调API是最复杂的也是性能最好的,另外两种均是对回调API的封装。
参考 MQTT (mosquitto)环境搭建
MQTT:Demo,该demo用java编写,包括所需要的jar包。
运行步骤:
3.1 启动代理服务
mosquitto( -c mosquitto.conf)
3.2 运行java类WSMQTTClientSubscribe
3.3 根据代码中指定的主题topic进行发布消息:
比如:public static Topic[] topics1 = {new Topic("china/beijing",QoS.EXACTLY_ONCE),new Topic("china/tianjin",QoS.AT_LEAST_ONCE),new Topic("china/shandong",QoS.AT_MOST_ONCE)};
则topic为上行代码中的topics1 数组,该topic用于发布消息。
3.4 发布消息(同步骤2.3)
D:\Program Files\mosquitto>mosquitto_pub -t china/beijing -m [{'name':'lhn'},{'a
ge',12}]
3.5 在Java console中查看结果:
八月 16, 2015 6:54:15 下午 com.lzc.mqtt.WSMQTTClientSubscribe main
信息: MQTTClient Message Topic=china/beijing Content :[{'name':'lhn'},{'age',12}]
发现只需要一个mosquitto代理,就可以实现message的发布和订阅,并不需要servlet或者tomcat等。
下一步:
用这个链接中的实现web接口在浏览器中访问发布的消息。
相关文章推荐
- Qt-Style-Sheets-语法
- qt Qstring 转 char*
- Qt Style Sheets--简介
- Qt中如何用指针返回参数
- QT中模拟鼠标点击事件
- JMS,MOM,MQTT概念与联系
- QT_QAction
- QT_QMainWindow
- Qt5该插件机制(2)--QxxxFactory类和QFactoryLoader类别
- Qt 中update()和repaint()的区别
- SPOJ QTREE 树链剖分
- Qt5.x windows中文乱码问题的解决方法(两种乱码问题)
- QTP/UFT 11.5 特性和安装的配置要求
- 【Qt OpenGL教程】28:贝塞尔曲面
- QT简单绘图
- Ubuntu安装Qt及QT Creator
- 【Qt OpenGL教程】27:阴影
- Ubuntu Qt5.5 Mysql driver
- 【Qt】]两种解决Qt5显示中文乱码的方法
- 如何将QVTKWidget添加到QtDesigner里