MQTT是一套协议,mosquitto是其实现的开源库(常用的)。本文介绍mosquitto在ubuntu 16.04上的编译。
一、依赖库
安装依赖库:
1 | sudo apt-get install uuid-dev |
修改config.mk文件,禁止ssl库:
1 | #WITH_TLS:=yes |
注:config.mk有许多编译配置选项,最好了解。
修改client目录的Makefile,只要静态编译。
1 | all : static #mosquitto_pub mosquitto_sub |
输入make -j4
就可以编译了,得到的mosquitto在src目录,mosquitto_pub和mosquitto_sub在client目录。
二、服务器运行
1 | mosquitto -c mosquitto.conf |
客户端(订阅或发布消息):
1 | mosquitto_sub -v -t "hello" -h 192.168.1.20 -p 1883 |
注:服务器和客户端可在同一个机器,也可不同。只要指定IP即可。
三、小结
mosquitto编译过程相对比较简单。uuid库是必须的,如果使用ssl,则需要依赖openssl库。
四、源码分析
mosquitto_sub流程:
主文件sub_client.c
1 | main |