mosquitto库的使用记录
Posted 阿彤啊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mosquitto库的使用记录相关的知识,希望对你有一定的参考价值。
本文记录了使用mosquitto库实现MQTT协议通信的发布端及常见错误的解决方法
订阅端的测试工具为MQTT.fx
下载链接链接:https://pan.baidu.com/s/1ztWGXbrLAqCoMoJKpwO7yg 提取码:mu8v
MQTT
是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
MQTT流程:
//发布端:
//通过ip来连接服务器
int connect(const char *host, int port=1883, int keepalive=60);
//发布主题
int publish(int *mid, const char *topic, int payloadlen=0, const void *payload=NULL, int qos=0, bool retain=false);
//订阅端
//本文利用MQTT.fx测试
MQTT.fx使用方法:
配置好mqtt代理服务器的IP
连接,并订阅相应主题;
错误记录:
-
发布函数publish()返回值为1,也就是MOSQ_ERR_NOMEM
源码中发现此返回值为发生内存不足的情况,但是检查代码并未有内存问题;
解决方法:检查发现,发布前未进行connect连接,导致发布失败; -
待更新
以上是关于mosquitto库的使用记录的主要内容,如果未能解决你的问题,请参考以下文章
55 Ubuntu搭建mosquitto并使用MQTT.fx测试问题记录