![](/img/trans.png)
[英]Azure IoTHub DeviceMessage, route filter on message body not working
[英]azure iothub device status
getConnectionState()作為連接/斷開連接取決於設備。如果它正在發送消息我應該看到連接,如果它不發送我應該斷開連接。但每次我運行下面的java程序我得到狀態為斷開連接而不管設備是是否發送消息
RegistryManager registryManager = RegistryManager.createFromConnectionString(connectionString);
System.out.println(registryManager.getDevices(new Integer(1000)));
while(true){
ArrayList<Device> deviceslist=registryManager.getDevices(new Integer(1000));
for(Device device:deviceslist)
{
/*System.out.println(device.getDeviceId());
System.out.println(device.getPrimaryKey());
System.out.println(device.getSecondaryKey());*/
System.out.println(device.getDeviceId());
System.out.println(device.getConnectionState());
/*System.out.println(device.getConnectionStateUpdatedTime());
System.out.println(device.getLastActivityTime());
System.out.println(device.getStatusReason());
System.out.println(device.getStatusUpdatedTime());
System.out.println(device.getSymmetricKey());
System.out.println(device.geteTag());
*/ }
}
我肯定是在看別的。
我正在使用下面的代碼創建一個簡單的C#控制台應用程序,
static async void QueryDevices()
{
RegistryManager manager = RegistryManager.CreateFromConnectionString(connectionString);
while (true)
{
var devices = await manager.GetDevicesAsync(100);
{
foreach (var item in devices)
{
Console.WriteLine(DateTime.Now + ": " + item.Id + ", " + item.ConnectionState);
System.Threading.Thread.Sleep(100);
}
}
}
}
這里的git總是查詢整個設備列表,因為ConnectionState屬性看起來像單個設備客戶端實例的“靜態”成員,即使實際狀態發生變化也不易改變。
我的輸出如下所示,“連接”狀態是當我使用Java客戶端示例向IoT Hub發送消息時。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.