MQTT mosquitto + websocktes 的使用 Liunx 环境
1.mosquitto 的安装
如果需要 mosquitto 支持websocktes 需要先安装 libwebsockets
libwebsockets 下载地址 https://github.com/warmcat/libwebsockets
mosquitto 下载地址 https://mosquitto.org/download/
1.1 libwebsockets 的安装
a.解压 libwebsockets 包后, 再 当前木目录创建 build 目录 mikdir build
b. cd build 目录 执行 cmake .. 需要 没有安装 cmake 则需要 安装 cmake
c.执行安装 cmake install
d.清除安装临时文件 cmake clean
1.2 mosquitto 的安装
a.解压文件后 vi config.mk 文件
b.修改 WITH_WEBSOCKETS:=yes 必须要 在 安装前设置,否则 不会支持 websocktes
c.编译 make
在编译的过程中 可能 需要 你 安装 openssl, c-ares, libuuid, 库 需要安装 可以通过 yum 安装
yum 的使用就不在着说了 。
d. 执行安装 命令 make install
e.清除 安装临时文件 make clean
1.3 mosquitto.cnof 文件的配置
a.mosquitto 默认使用 mosquitto 用户来 启动 也可以修改 启动用户
b.为mosquitto 添加 websocktes 配置
mosquitto 是支持 多个监听的 需要配置多个监听 就需要 配置多个 listener和protocol
mosquitto 默认的端口的 1883 默认的 protocol 是 mqtt
如要需要同时支持 mqtt 和 websocktes 就需要打开 mosquitto 默认的端口 和 protocol
1.4 启动 mosquitto
我的 mosquitto 安装在 、usr/loacl 下
安装的过程中 在 在etc 目录下 会有 默认的mosquitto.conf 文件
我这里使用的是安装目录下的mosquitto.conf
mosquitto -c /user/loacl/mosquitto/mosquitto.conf &
在启动的过程中可能会 提示 缺少 libmosquittopp.so.1 libwebsockets.so.10 文件
这两个文件 默认安装到 /user/loacl/lib 目录下
如过 你的 系统时 32 位 的 侧需要将 这两个文件 复制到 /usr/lib 目录下
如过 你的 系统时 64 位 的 侧需要将 这两个文件 复制到 /usr/lib64 目录下
1.5 mosquitto 日志的配置
a.mosquitto 默认的日志目录 /var/log/messages or similar
log_dest 默认时 日志则会 打印到 控制台
log_dest 设置为 topic 时 当里则会 以消息的形式 发送到 你 订阅的 系统 主题
mosquitto 的系统主题 都以 $SYS 开头 文档介绍地址 https://mosquitto.org/man/mosquitto-8.html
log_type 日志的类型
2.mosquitto Java端代码
package Test.test.mqtt.m