MQTT服务器继续打印相同的消息

时间:2019-06-23 06:52:34

标签: mqtt mosquitto

蚊子不断重复打印消息,尽管我只发布了一次。

我试图将数据从iPad(使用cocoaMQTT)传输到ubuntu计算机(使用mosquitto)。但是我注意到,在计算机方面,它始终会打印我从iPad发布的消息。

我试图将服务质量(QoS)更改为模式2,这意味着仅接收一次数据,但是它不起作用。

如果我发布1和2,则输出为:

1
2
1
2

每个“ 1 2”之间的间隔是一分钟。

这是iPad上的代码:

    private func setMqtt() {
        let clientID = "CocoaMQTT-" + String(ProcessInfo().processIdentifier)
        mqtt = CocoaMQTT(clientID: clientID, host: host, port: 1883)
        mqtt!.username = ""
        mqtt!.password = ""
        mqtt!.willMessage = CocoaMQTTWill(topic: "/will", message: "dieout")
        mqtt!.keepAlive = 60
        mqtt!.delegate = self

        let isConnect = mqtt!.connect()
        print("isConnected?", isConnect)
    }


    @IBAction func btnPressed(_ sender: Any) {

        number += 1

        mqtt?.publish("test", withString: String(number), qos: .qos2, retained: false, dup: false)

    }

}

这是Ubuntu上的简单mosquitto命令:

mosquitto_sub -t "test" -q 2

任何帮助将不胜感激。

0 个答案:

没有答案