赞
踩
不想看啰嗦,直接看源码:
源码: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
先修改文件,在配置文件末尾追加这 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

/* @Time : 2021/6/24 10:37 @Author : dao @File : main @Software: GoLand */ package main import ( "fmt" MQTT "github.com/eclipse/paho.mqtt.golang" ) /** * @Description:订阅回调 * @param client * @param msg */ func subCallBackFunc(client MQTT.Client, msg MQTT.Message) { fmt.Printf("订阅: 当前话题是 [%s]; 信息是 [%s] \n", msg.Topic(), string(msg.Payload())) } /** * @Description:订阅消息 */ 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
如果觉得有用的话,还请一键三连(点赞、收藏、关注),在这里谢谢的大家支持。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。