«Невозможно установить соединение, поскольку целевая машина активно отказывала в этом», подключаясь к VerneMQ - PullRequest
0 голосов
/ 14 октября 2018

Я установил VerneMQ на виртуальную машину Azure Ubuntu 16.04 и открыл порт 1883 для входящих и исходящих сообщений.VerneMQ настроен на прослушивание порта 1883, разрешены анонимные подключения и запущен vernemq (запуск vernemq).

allow_anonymous = on

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 Сообщение для брокера
Source = M2Mqtt.Net StackTrace: at uPLibrary.Networking.M2Mqtt.MqttClient.Connect (строковый clientId, строковое имя пользователя, строковый пароль, логический willRetain, байт willQosLevel, логический willFlag, строковая willTopic, логическая функция очистки строки String willIessessSessessE.(Строка [] args) в C: \ Projects \ 1910 12 MQTT \ MQTTSendReceive \ MQTTSendReceive \ Program.cs: строка 13

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

Iне вижу, где я заблокирован.

1 Ответ

0 голосов
/ 14 октября 2018

Вы сказали VerneMQ прослушивать localhost (127.0.0.1), что означает, что вы сможете подключаться к нему только с компьютера с Ubuntu.

Если вы хотите иметь доступ к нему из других источников, вынужно сказать, чтобы он прослушивал все интерфейсы (0.0.0.0)

allow_anonymous = on

listener.tcp.default = 0.0.0.0:1883
...