Я установил 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: в uPLibrary.Networking.M2Mqtt.MqttClient.Connect (String clientId, String username, String username, String username, String username, String username password, Boolean willRetain, Byte willQosLevel, Boolean willFlag, String willTopic, String willMessage, Boolean cleanSession, UInt16 keepAlivePeriod) в uPLibrary.Networking.M2Mqtt.MqttClient.Connect (String clientId) в MQessage.MTSendRendTM: \ 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
Я не вижу, где меня заблокировали.