2017-04-20 13 views
0

Ich habe Problem, das Thema von einem mqtt-Makler zu zeigen. Alles, was ich bekomme ist System.byte[] Ich weiß, ich bin verbunden, wie jedes Mal, wenn ich eine Nachricht von HiveMQ veröffentlichen ein anderes System.bytes hinzugefügt werden, um die Konsole. Bitte helfen Sie.C# -Anwendung, die mit mqtt Broker arbeitet

static void Main(string[] args) 
{ 
    MqttClient client = new MqttClient("myip", 1883,false,null,null,0,null,null); 
    client.MqttMsgPublishReceived += client_MqttMsgPublishReceived; 

    client.Connect(Guid.NewGuid().ToString()); 
    ushort msgId = client.Subscribe(new string[] { "broTest" }, 
    new byte[] { MqttMsgBase.QOS_LEVEL_AT_LEAST_ONCE }); 
    client.ProtocolVersion = MqttProtocolVersion.Version_3_1_1; 
} 

static void client_MqttMsgPublishReceived(object sender, MqttMsgPublishEventArgs e) 
{ 
    // handle message received 

    Console.WriteLine("message=" + e.Message.ToString()); 

} 

Antwort

1

Sie müssen Byte [] in String umwandeln, um in der Konsole zu zeigen.

static void client_MqttMsgPublishReceived(object sender, MqttMsgPublishEventArgs e) 
     {    
      Console.WriteLine(Encoding.UTF8.GetString(e.Message));    
     } 
+0

Yup thanks..already bekam es ... vielen Dank für Ihre Zeit – Dwight

+0

Hallo @Dwight Sie bitte die Antwort-ID der Vorschlag gemacht löst Ihr Problem entgegengenommen werden! :) –

Verwandte Themen