mosquitto编译配置
介绍mqtt
MQTT:开源、可靠、轻巧、简单,MQTT的传输格式非常精小,最小的数据包只有2个比特,且无应用消息头。
MQTT可以保证消息的可 靠性,它包括三种不同的服务质量(最多只传一次、最少被传一次、一次且只传一次),如果客户端意外掉线,可以使用“遗愿”发布一条消息,同时支持持久订 阅。MQTT在物联网以及移动应用中的优势有:
- 可靠传输。MQTT可以保证消息可靠安全的传输,并可以与企业应用简易集成。
- 消息推送。支持消息实时通知、丰富的推送内容、灵活的Pub-Sub以及消息存储和过滤。
- 低带宽、低耗能、低成本。占用移动应用程序带宽小,并且带宽利用率高,耗电量较少。
因此MQTT被广泛应用于物联网。
MQTT的基本组成部分:
- 发布者
- 订阅者
- 代理服务器
介绍mosquitto
一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机、嵌入式计算机、微型控制器等移动设备。一个典型的应用案例就是 Andy Stanford-ClarkMosquitto(MQTT协议创始人之一)在家中实现的远程监控和自动化。
mosquitto对mqtt协议进行了封装
安装配置测试mosquitto
安装
安装:
# 下载源代码包
wget http://mosquitto.org/files/source/mosquitto-1.4.9.tar.gz
# 解压
tar zxfv mosquitto-1.4.9.tar.gz
# 进入目录
cd mosquitto-1.4.5
# 编译
make
# 安装
sudo make install
测试
启动mosquitto代理服务器
# mosquitto -v
另开终端启动sub订阅端订阅 topic01 主题
# mosquitto -t topic01
另开终端启动pub发布端发布消息
# mosquitto -t topic01 -m value01
可以看到实时发布,实时获取
报错记录
Error: Address already in use
这里是已经开启了代理服务器,重复开启会报错
可以通过
ps aux | grep mosquitto查看是否有相关进程