簡體   English   中英

azure iothub設備狀態

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM