如果 IoTHub 设备在连接状态下被禁用,预期返回的错误代码是什么?
What is the expected error code returned if the IoTHub device is disabled while still connected?
我想知道如果 IoTHub 设备在 IoTHub 中仍处于连接状态时被禁用,预期返回的错误代码是什么。
我在以下场景中对其进行了测试:
场景一:
- 设备已连接到 iothub。
- 在 Azure 物联网资源管理器中禁用设备。
- 设备已断开连接。
实际结果:收到的错误代码是IOTHUB_CLIENT_CONNECTION_NO_NETWORK
我预计错误代码应该是IOTHUB_CLIENT_CONNECTION_DEVICE_DISABLED
场景B:
- 首先在 iothub 中禁用设备。
- 设备将尝试连接。
实际结果:收到的错误代码是IOTHUB_CLIENT_CONNECTION_DEVICE_DISABLED
预计会出现场景 B。场景A怎么样?
非常感谢您的支持!
这似乎与 MQTT 3.1.1 中有限的错误报告有关。当设备在 IoTHub 中被禁用时,服务器将断开连接,它没有隐式机制来告诉客户端断开连接的原因。客户端遇到网络问题然后浮出水面。
在第二种情况下,一旦启动 TCP 连接,服务器就会收到 CONNECT 帧,但由于设备被禁用,服务器 returns 0x03 被翻译为已禁用。正如您在规范中看到的那样,可能的错误再次受到限制。 http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html 第 3.2.2.3 节
我想知道如果 IoTHub 设备在 IoTHub 中仍处于连接状态时被禁用,预期返回的错误代码是什么。 我在以下场景中对其进行了测试:
场景一:
- 设备已连接到 iothub。
- 在 Azure 物联网资源管理器中禁用设备。
- 设备已断开连接。
实际结果:收到的错误代码是IOTHUB_CLIENT_CONNECTION_NO_NETWORK
我预计错误代码应该是IOTHUB_CLIENT_CONNECTION_DEVICE_DISABLED
场景B:
- 首先在 iothub 中禁用设备。
- 设备将尝试连接。 实际结果:收到的错误代码是IOTHUB_CLIENT_CONNECTION_DEVICE_DISABLED
预计会出现场景 B。场景A怎么样?
非常感谢您的支持!
这似乎与 MQTT 3.1.1 中有限的错误报告有关。当设备在 IoTHub 中被禁用时,服务器将断开连接,它没有隐式机制来告诉客户端断开连接的原因。客户端遇到网络问题然后浮出水面。
在第二种情况下,一旦启动 TCP 连接,服务器就会收到 CONNECT 帧,但由于设备被禁用,服务器 returns 0x03 被翻译为已禁用。正如您在规范中看到的那样,可能的错误再次受到限制。 http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html 第 3.2.2.3 节