我使用IoT中心Java库在设备和Microsoft Azure之间发送消息。
要连接,我会打电话
client = new DeviceClient(connString, protocol);
client.open();
然后,要发送一条消息,我打电话
client.sendEventAsync(message, callback, lockobj);
然后,在发送消息时调用我的callback
函数。
但是,这是问题所在,在我的终端上呼叫sendEventAsync
后,消息Lost connection to the server. Reconnecting 0 time.
总是出现了
我已尝试在发送消息后关闭连接并每次都重新打开它,但我认为这是最坏的情况,问题仍然存在。此外,我已经执行了Azure(https://github.com/Azure-Samples/azure-iot-samples-java/archive/master.zip)给出的测试示例,并且遇到了相同的问题。
所以我的问题是,库是否存在问题(因为即使使用代码也存在问题)?还是我做错了什么?
非常感谢!
答案 0 :(得分:0)
我发现了问题:今天我正在测试与昨天相同的代码,并且一切正常。因此,我已经登录Azure,发现了此错误消息:
查询设备时出错:禁止:{“ Message”:“ ErrorCode:IotHubQuotaExceeded; IotHub'[..]'上的消息总数超过了分配的配额。允许的最大消息数:'8000',当前消息count:'20107'。该中心的发送和接收操作被阻止,直到下一个UTC天为止。考虑增加此中心的单位以增加配额。“,” ExceptionMessage“:”跟踪ID:[..]-TimeStamp: 10/17/2018 08:48:37“}。
因此,问题在于我已超出邮件配额。但是,昨天我很困惑,因为Azure用消息“ OK_EMPTY”答复了我,这意味着一切都很好...