开源软件名称: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("初始化成功")} |
请发表评论