Я пытаюсь использовать библиотеку M2MQTT для отправки сообщений MQTT в концентратор Azure IoT. Я следил за рекомендациями здесь IoT Hub MQTT support, чтобы найти правильные параметры для подключения и т. Д. В разделе MQTT на основе этой статьи.M2MQTT Отключение от Azure IoT Hub on Publish
Я успешно подключение (CONNACK возвращаемого значения 0) со следующим кодом:
_publishClient = new MqttClient(_hostName, 8883, true, null, null,MqttSslProtocols.TLSv1_2);
_publishClient.MqttMsgPublished += _client_MqttMsgPublished;
_publishClient.ConnectionClosed += _client_ConnectionClosed;
var connack = _publishClient.Connect(_publishDeviceId, string.Format("{0}/{1}",
_hostName, _publishDeviceId), _publishSas,true,3600);
, но как только я сделать Publish вызов (где DeviceID это мой идентификатор устройства):
var pubresult = _publishClient.Publish("/devices/{deviceid}/messages/events/", Encoding.UTF8.GetBytes("Hello"), MqttMsgBase.QOS_LEVEL_AT_MOST_ONCE, false);
M2MQTT отключает и вызывает событие OnConnectionClosed, и сообщение никогда не доставляется в концентратор Azo IoT.
Я попытался уйдя через код класса M2MQTT MqttClient и разъединение исходит из ReceiveThread с комментариями, что делает его звук, как это Azure IoT концентратор конец, который закрыл соединение:
// zero bytes read, peer gracefully closed socket
else
{
// wake up thread that will notify connection is closing
this.OnConnectionClosing();
}
Если у кого есть идеи о том, почему он закрывается или как устранять неполадки, я все уши/глаза.
Я вижу ту же ошибку. – Jackie
Попробовали ли вы использовать windows-iot-sdk для клиента mqtt? – Jackie
Привет, Azure IoT SDK команда здесь - могу я спросить, что вам нравится в m2mqtt или что не работает в нашем SDK, который отводит вас от использования? –