Я использую system.Net.mqtt в проекте Xamarin.Я создаю сервер, как это:
var server = MqttServer.Create();
server.ClientConnected += Debug;
server.ClientDisconnected += Debug;
server.Stopped += (o, e) => Debug($"disconnection ! {e.Message} and {e.Reason} ");
server.Start();
У меня есть кодовый узел mCU y микропифон.Если я запускаю android MQTT-брокера в телефоне, я могу подключиться к нему из узла MCU, а также нажимать и подписываться на сообщения.Безупречный.Но если я выключаю посредника и запускаю сервер, как указано выше, я получаю это от nodeMCU при попытке подключения:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "Utils.py", line 10, in __init__
File "Utils.py", line 16, in ConnectMQTT
File "umqtt/simple.py", line 99, in connect
MQTTException: 2
Я почти уверен, что проблема в том, что сервер не работает ..или что-то :)
ОБНОВЛЕНИЕ 1:
Я проверил, откуда взято исключение, я понятия не имею, что это значит, но откуда оно (код Python):
self.sock.write(premsg, i + 2)
self.sock.write(msg)
#print(hex(len(msg)), hexlify(msg, ":"))
self._send_str(self.client_id)
if self.lw_topic:
self._send_str(self.lw_topic)
self._send_str(self.lw_msg)
if self.user is not None:
self._send_str(self.user)
self._send_str(self.pswd)
resp = self.sock.read(4)
assert resp[0] == 0x20 and resp[1] == 0x02
if resp[3] != 0:
raise MQTTException(resp[3]) <------- Here!
return resp[2] & 1