MQTT是轻量级基于代理的发布/订阅的消息传输协议.
有三种消息发布服务质量:
- “至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。
- “至少一次”,确保消息到达,但消息重复可能会发生。
- “只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。
mosquitto是一个开源的broker,并且支持MQTTv3.1,支持客户端的验证
下载地址http://mosquitto.org/download/
安装mosquitto很简单,下载的软件中都有说明,在xp下安装运行的时候可能会提示缺少某个dll下载这个dll即可。
在这个使用的过程中遇到个问题:设置qos的质量问题(都在在xp的cmd窗口中进行的)
1、首先到mosquitto的安装目录下,启动mosquitto服务
2、开启2个cmd窗口一个运行:mosquitto_pub.exe -q 2 -t name -m “hello”(发布主题‘name’)记为发布窗口
另一个窗口运行:mosquitto_sub.exe -q 2 -t bing -t name(订阅主题‘name’)记为订阅窗口
首先开启的是发布主题的窗口,在订阅主题的窗口中能看到‘hello’的消息;
3、测试mosquitto的服务质量,现在已经启动了2个窗口而且qos的值都为2;
a、停止订阅主题的服务,在发布窗口中运行:mosquitto_pub.exe -q 2 -t name -m “hello2”
b、在订阅窗口中运行:mosquitto_sub.exe -q 2 -t bing -t name;并没有出现预期中的‘hello2’
在这个过程中没有修改mosquitto.conf文件;不知道什么地方出问题了;请大牛们指教
转载于:https://blog.51cto.com/bing2010/798348