Не може да се осъществи връзка, тъй като целевата машина активно й отказа да се свърже с VerneMQ

Инсталирах VerneMQ на виртуална машина Azure Ubuntu 16.04 и отворих входящ и изходящ порт 1883. VerneMQ е конфигуриран да слуша на порт 1883, разрешените анонимни връзки са включени и vernemq е стартиран (vernemq start).

позволи_анонимен = включен

listener.tcp.default = 127.0.0.1:1883

Създадох C# конзолно приложение на моя компютър с Windows 10, за да изпращам съобщения до MQTT брокера на виртуалната машина. Използвам NuGet пакет M2Mqtt версия 4.3.0 и съм отворил 1883 както входящи, така и изходящи в моята защитна стена на Windows 10.

string broker = "<ip address>";
MqttClient client = new MqttClient(broker);
byte code = client.Connect(Guid.NewGuid().ToString());

Получавам съобщение за грешка при отказана връзка, когато се опитвам да се свържа.

uPLibrary.Networking.M2Mqtt.Exceptions.MqttConnectionException: „Изключение при свързване с брокера“

uPLibrary.Networking.M2Mqtt.Exceptions.MqttConnectionException
HResult=0x80131500 Message=Изключение при свързване с брокера
Източник=M2Mqtt.Net StackTrace: в uPLibrary.Networking.M2Mqtt.MqttClient.Connect(String clientId, String потребителско име, String парола, Boolean willRetain, Byte willQosLevel, Boolean willFlag, String willTopic, String willMessage, Boolean cleanSession, UInt16 keepAlivePeriod) в uPLibrary.Networking.M2Mqtt.MqttClient.Connect(String clientId) в MQTTSendReceive.MQTT.SendMQTTMessage() в C:\Projects \19 10 12 MQTT\MQTTSendReceive\MQTTSendReceive\MQTT.cs:ред 17 в MQTTSendReceive.Program.Main(String[] args) в C:\Projects\19 10 12 MQTT\MQTTSendReceive\MQTTSendReceive\Program.cs:ред 13

Вътрешно изключение 1: SocketException: Не може да се осъществи връзка, защото целевата машина активно я отказа: 1883

Не виждам къде съм блокиран.


person Terry Mandin    schedule 14.10.2018    source източник


Отговори (1)


Вие сте казали на VerneMQ да слуша на localhost (127.0.0.1), което означава, че ще можете да се свържете с него само от машината Ubuntu.

Ако искате да имате достъп до него от другаде, трябва да му кажете да слуша на всички интерфейси (0.0.0.0)

allow_anonymous = on

listener.tcp.default = 0.0.0.0:1883
person hardillb    schedule 14.10.2018