2017-07-28 7 views
1

I MQTT Protokoll-basierte Anwendung in .net Kernanwendung entwickle entwickeln i die Anwendung unter Link mit mqttMQTT Ein solcher Host bekannt ist, Fehler

mein Code

public static void Main(string[] args) 
{ 
    MqttClient client = new MqttClient("broker.hivemq.com"); 
    byte code = client.Connect(Guid.NewGuid().ToString(), "username", "password"); 
    Console.WriteLine("code " + code); 
    client.MqttMsgPublished += client_MqttMsgPublished;    
    ushort msgId = client.Publish("mytopic", // topic 
    Encoding.UTF8.GetBytes("Hai this is sample chat application"), // message body 
    MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE, // QoS level 
    true); // retained 
Console.WriteLine("msgId " + msgId); 
client.MqttMsgPublishReceived += client_MqttMsgPublishReceived; 

void client_MqttMsgPublished(object sender, MqttMsgPublishedEventArgs e) 
{ 
    Debug.WriteLine("MessageId = " + e.MessageId + " Published = " + e.IsPublished); 
    Console.WriteLine("MessageId = " + e.MessageId + " Published = " + e.IsPublished); 
} 

void client_MqttMsgSubscribed(object sender, MqttMsgSubscribedEventArgs e) 
{ 
    Debug.WriteLine("Subscribed for id = " + e.MessageId); 
    Console.WriteLine("Subscribed for id = " + e.MessageId); 
} 

void client_MqttMsgPublishReceived(object sender, MqttMsgPublishEventArgs e) 
{ 
    Debug.WriteLine("Received = " + Encoding.UTF8.GetString(e.Message) + " on topic " + e.Topic); 
    Console.WriteLine("Received = " + Encoding.UTF8.GetString(e.Message) + " on topic " + e.Topic); 
} 

}

Teilnehmercode:

mosquitto_sub -h broker.hivemq.com -t mytopic(terminal) 

wenn ich r un diese Anwendung die Nachricht aber an Teilnehmer senden, wenn ich Nachricht von Terminal zu veröffentlichen versucht, meine Anwendung erhält keine Nachricht

veröffentlichte Code in Terminal

mosquitto_pub -h broker.hivemq.com -t mytopic -m "Hai this is sample" 

Wie von Terminal veröffentlichte Nachricht zu erhalten?

Ich verwende MQTT Client als MqttClient client = new MqttClient("broker.hivemq.com");

, wenn ich es nicht wie immer Fehler ausgeführt habe versucht, meine IP-Adresse ändern

Unhandled Exception: System.AggregateException: One or more errors occurred. (No such host is known) ---> System.Net.Sockets.SocketException: No such host is known 

Antwort

1

feine Arbeit mit folgenden Code

string[] topic = { "mytopic"}; 
byte[] qosLevels = { MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE }; 
client.Subscribe(topic, qosLevels); 

der obige Code fehlte in meinem Code.Terminal zu C# Konsole und C# Konsole zu Terminal.

+0

aber immer noch bei der Verwendung von ipaddress bekommen gleichen Fehler. Bitte geben Sie eine Idee? –

Verwandte Themen