- 初
- 设置用户名和密码、修改 ip 地址
- 编程
- 安装依赖
- 核心代码
- 效果
不想看啰嗦,直接看源码:
源码:https://download.csdn.net/download/qq_36051316/19820546
最近接触 MQTT 的相关知识,这里主要讲 golang MQTT 使用 go 语言订阅 这样就能收到发布的信息,学习·记录
这里使用的 MQTT 服务器,可以参考 https://blog.csdn.net/qq_36051316/article/details/118180043 这篇文章 主要讲 MQTT 服务器 :windows 安装 mosquitto
设置用户名和密码、修改 ip 地址先修改文件,在配置文件末尾追加这 3 行代码:
bind_address 172.17.0.13 allow_anonymous false password_file /mqttpwfile/pwfile.example
第一行:绑定地址
第二行,不允许匿名
第三行,密码文件位置
记得在 C 盘新建密码文件
(修改完配置记得重启服务 )
设置用户名和密码:mosquitto_passwd -b /mqttpwfile/pwfile.example 用户名 密码 ( 请替换“用户名”为使用的用户名,"密码”为使用的密码)
例如:
mosquitto_passwd -b /mqttpwfile/pwfile.example d 123456编程 安装依赖
这里用到的依赖是 github.com/eclipse/paho.mqtt.golang
go get -u github.com/eclipse/paho.mqtt.golang核心代码
package main
import (
"fmt"
MQTT "github.com/eclipse/paho.mqtt.golang"
)
func subCallBackFunc(client MQTT.Client, msg MQTT.Message) {
fmt.Printf("订阅: 当前话题是 [%s]; 信息是 [%s] n", msg.Topic(), string(msg.Payload()))
}
func subscribe() {
opts := MQTT.NewClientOptions()
opts.AddBroker("tcp://127.0.0.1:1883")
opts.SetUsername("d")
opts.SetPassword("123456")
mc := MQTT.NewClient(opts)
if token := mc.Connect(); token.Wait() && token.Error() != nil {
fmt.Println("订阅 MQTT 失败")
}
mc.Subscribe("huati1", 0x00, subCallBackFunc)
}
func main() {
subscribe()
//按任意键回车后结束
var anykey string
fmt.Scanln(&anykey)
}
效果
运行以后,我们发布一个话题测试一下:
不想看啰嗦,直接看源码:
源码:https://download.csdn.net/download/qq_36051316/19820546
如果觉得有用的话,还请一键三连(点赞、收藏、关注),在这里谢谢的大家支持。



