IM mqtt之mosquitto

一、介绍

1.1 mqtt

MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。

1.2 mosquitto

一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单。
githup地址:https://github.com/eclipse/mosquitto

二、安装测试

2.1 安装

2.1.1 安装环境

ubuntu20.04

2.1.2 安装命令
sudo apt-get install mosquitto
sudo apt-get install mosquitto-clients
2.2 测试
2.2.1 启动服务器
mosquitto -p 1995   # -p 后为端口号,随意填写
2.2.2 启动订阅者
mosquitto_sub -t "test" -h 127.0.0.1 -p 1995 #-h为服务器IP,-p为服务器端口
2.2.3 启动发布者
mosquitto_pub -m "你好啊" -t "test" -h 127.0.0.1 -p 1995 #-h为服务器IP,-p为服务器端 -m 为消息内容

三、源码安装

3.1 下载编译

  • 下载: https://github.com/mingyang0921/mosquitto
  • 编译: make

3.2 常见问题

3.2.1 缺少json库
3.2.1.1 报错内容

../../config.h:86:12: fatal error: cjson/cJSON.h: No such file or directory

3.2.1.1 解决办法
  • 下载: https://github.com/DaveGamble/cJSON
  • 编译: make && make install
3.2.2 缺少相关命令
3.2.2.1 报错内容
  1. 缺少xsltproc
make[1]: xsltproc: Command not found
  1. 缺少docbook-xsl docbook-xml
I/O error : Attempt to load network entity http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
3.2.2.2 解决办法
  • 安装命令: sudo apt-get install xsltproc docbook-xsl docbook-xml
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐