栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

golang MQTT : 入门开发 :go MQTT 订阅 (1)

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

golang MQTT : 入门开发 :go MQTT 订阅 (1)

golang MQTT : 入门开发 :go MQTT 订阅 1
  • 初
    • 设置用户名和密码、修改 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

如果觉得有用的话,还请一键三连(点赞、收藏、关注),在这里谢谢的大家支持。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/944120.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号