3
我試圖使用M2MQTT庫將MQTT消息發送到Azure IoT Hub。我遵循IoT Hub MQTT support的指導,爲該文章的本機MQTT部分中的連接等提供了正確的參數。M2MQTT從發佈中斷開與Azure IoT Hub的連接
我用下面的代碼在成功連接(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);
,但只要我打個電話發佈(其中設備ID是我的設備ID):
var pubresult = _publishClient.Publish("/devices/{deviceid}/messages/events/", Encoding.UTF8.GetBytes("Hello"), MqttMsgBase.QOS_LEVEL_AT_MOST_ONCE, false);
M2MQTT斷開連接並引發OnConnectionClosed事件,並且該消息從未傳遞到Azure IoT Hub。
我已經試過下臺通過M2MQTT MqttClient類代碼和斷開從ReceiveThread來與意見使它聽起來像是它是Azure的物聯網中心端是封閉的連接:
// zero bytes read, peer gracefully closed socket
else
{
// wake up thread that will notify connection is closing
this.OnConnectionClosing();
}
如果任何人都有任何想法,爲什麼它關閉或如何排除故障,我都耳朵/眼睛。
我看到相同的錯誤。 – Jackie
你有沒有試過用mqtt客戶端的windows-iot-sdk? – Jackie
您好,Azure IoT SDK團隊可以在這裏 - 請問您對m2mqtt有什麼要求,或者在我們的SDK中無法使您避免使用它? –