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).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube nicht, dass die MqttDotNet wird derzeit gewartet.
Ich könnte vorschlagen, um meine M2Mqtt client gefunden und Dokumentation auf der offiziellen Website hier :
https://m2mqtt.wordpress.com/
Den M2Mqtt client ist auf Nuget als Paket auch hier :
https://www.nuget.org/packages/M2Mqtt/
Paolo.
Den connection-string ist (entsprechend der sample-code-Dokumentation auf Steven Lovegroves website http://www.stevenlovegrove.com/?id=37):
Verbindungszeichenfolgen