gpt4 book ai didi

java - azure iothub 设备状态

转载 作者:太空宇宙 更新时间:2023-11-04 12:07:00 24 4
gpt4 key购买 nike

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 中心发送消息时。

enter image description here

关于java - azure iothub 设备状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40257697/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com