2016-10-26 6 views
1

getConnectionState() подключен/отключен в зависимости от устройства. Если он отправляет сообщение, я должен видеть подключенный, и если он не отправляет, я должен отключиться. Но каждый раз, когда я запускаю нижнюю программу Java, я получаю статус отключен независимо от устройства, отправляет сообщения или нетСтатус устройства azure iothub

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()); 
*/ } 
    } 
+0

Какой протокол вы используете для отправки событий (HTTP, AMQP, MQTT)? – shachar

+0

Проверьте состояние подключения в Проводнике устройств? –

ответ

0

Я определенно вижу иначе.

Я создаю простое 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); 
       } 
      } 
     } 
    } 

мерзавца здесь всегда запрашивать список всего устройства, так как свойство ConnectionState как-то выглядит, как «статические» ЧЛЕНЫ из экземпляр клиента одного устройства, который не может измениться даже при изменении фактического состояния.

И мой вывод как показано ниже, «подключенное» состояние - это когда я использую образец клиента java для отправки сообщения в концентратор IoT.

enter image description here