• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

MQTT: MQTT封装库,自动订阅,事件分发。

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

MQTT

开源软件地址:

https://gitee.com/xiaochengtech/mqtt

开源软件介绍:

mqtt

管理MQTT的连接,以及消息的订阅。

使用

首先生成配置:

import "gitee.com/xiaochengtech/mqtt"conf := mqtt.Config{	Broker:   "tcp://127.0.0.1:1883",	ClientID: "client001",}

然后生成一个全局的实例,注册需要订阅的消息,连接后会自动订阅:

import (    "gitee.com/xiaochengtech/mqtt"    gomqtt "github.com/eclipse/paho.mqtt.golang")var instance = mqtt.Client{}func init() {    instance.Subscribe(mqtt.SubscribeType{ // 消息订阅        Topic:      "topic/test",        Qos:        byte(0),        Callback:   TestMessageHandler,        RetryTimes: 0,    })}// TestMessageHandler函数定义格式如下func TestMessageHandler(client gomqtt.Client, message gomqtt.Message) {    // ...}

其中RetryTimes表示订阅失败后的重试次数,如果为0,则表示一直重试下去。

最后使用初始化方法连接到MQTT的Broker上:

opts := mqtt.GetClientOptions(&conf)opts.Username = "username"opts.Password = "password"opts.SetWill(topic, "client_dead", 0, true)opts.SetKeepAlive(10 * time.Second)opts.SetPingTimeout(5 * time.Second)// ...opts.SetOnConnectHandler(...) // 设置自定义的连接后处理方法opts.SetConnectionLostHandler(...) // 设置自定义的断开连接后处理方法if err := instance.Init(opts); err != nil {    log.Fatal("初始化失败")} else {    log.Println("初始化成功")}

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap