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

连接,并订阅相应主题;

错误记录:

  1. 发布函数publish()返回值为1,也就是MOSQ_ERR_NOMEM

    源码中发现此返回值为发生内存不足的情况,但是检查代码并未有内存问题;
    解决方法:检查发现,发布前未进行connect连接,导致发布失败;

  2. 待更新

以上是关于mosquitto库的使用记录的主要内容,如果未能解决你的问题,请参考以下文章

55 Ubuntu搭建mosquitto并使用MQTT.fx测试问题记录

55 Ubuntu搭建mosquitto并使用MQTT.fx测试问题记录

MQTT的学习之Mosquitto简要教程(安装&使用)

使用 Pygments 检测代码片段的编程语言

如何在android库的片段中添加按钮和textView

mosquitto 1.4.14 不支持 Windows 中的 Web 套接字并且代码不起作用