Score
0
Watch 6 Star 21 Fork 6

北京小程科技有限公司 / MQTTGoMIT

Join us
Explore and code with more than 2 million developers,Free private repositories !:)
Sign up
MQTT封装库,自动订阅,事件分发。 spread retract

Clone or download
Loading...
README.md

mqtt

Latest Tag

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

安装

go get -u gitee.com/cuckoopark/mqtt

使用

首先生成配置:

import "gitee.com/cuckoopark/mqtt"

conf := mqtt.Config{
	Host: "127.0.0.1",
	Port: 1883,
	ClientID: "client001",
}

然后注册需要订阅的消息,连接后会自动订阅:

import (
    "gitee.com/cuckoopark/mqtt"
    gomqtt "github.com/eclipse/paho.mqtt.golang"
)

mqtt.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.SetOnConnectHandler(...) // 设置自定义的连接后处理方法
opts.SetConnectionLostHandler(...) // 设置自定义的断开连接后处理方法
if err := mqtt.Init(opts); err != nil {
    log.Fatal("初始化失败")
} else {
    log.Println("初始化成功")
}

Comments ( 0 )

Sign in for post a comment

Go
1
https://gitee.com/cuckoopark/mqtt.git
git@gitee.com:cuckoopark/mqtt.git
cuckoopark
mqtt
MQTT
master

Help Search