Mqtt publish/subscribe mit c#

Habe ich schon gearbeitet, mit mqtt in Java. Jetzt brauche ich zum erstellen einer C# - Anwendung zu abonnieren und veröffentlichen Sie mqtt-Nachrichten.

mit MqttDotNet Bibliothek

IMqtt _client = MqttClientFactory.CreateClient(connectionString, clientId);

Was ist der connectionString?

mit M2Mqtt Bibliothek

Die Verbindung erfolgreich hergestellt wurde, aber ich habe nicht erhalten alle veröffentlichten Nachrichten.

Dies ist mein code:

class Program
{
    static void Main(string[] args)
    {
        var client = new MqttClient(IPAddress.Parse("myTestIP"));

        //register to message received
        client.MqttMsgPublishReceived += client_MqttMsgPublishReceived;

        var clientId = Guid.NewGuid().ToString();
        client.Connect(clientId);

        //subscribe to the topic "/home/temperature" with QoS 2
        client.Subscribe(
            new string[] {"testTopic"},
            new byte[] { MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE });
    }

    static void client_MqttMsgPublishReceived(
        object sender, MqttMsgPublishEventArgs e)
    {
        //handle message received
        Console.WriteLine("message=" + e.Message.ToString());
    }
}

Diese meine Botschaft zu veröffentlichen-code:

mosquitto_pub -d -h testIp  -t "testTopic" -m "haai"
  • Sie sollten nicht MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE. Anstatt zu versuchen, Sie zu nutzen MqttMsgBase.QOS_LEVEL_AT_LEAST_ONCE. Vielleicht sind die QoS-2 ist nicht unterstützt (z.B. AWS-IoT nicht unterstützt).
InformationsquelleAutor Abdul Manaf | 2015-11-09
Schreibe einen Kommentar