Answers:
IoT中心连接的设备使用的模型是它们将永远不接受传入连接。IoT中心设备永远不会充当“服务器”,这是Azure IoT安全模型的关键部分。对此的确定模型封装在Clemens Vasters的“服务辅助通信”中。
因此,设备总是在“轮询”外部服务以发送数据或接收命令。这些API使它看起来像是在将数据发送到设备,但始终是建立传出连接的设备。
IoT中心通过两种方式执行此操作:
/devices/{deviceId}/messages/devicebound
。这是一个AMQP消息传递终结点,类似于队列或主题订阅。该设备在读取命令时需要根据需要确认接收,这是基础AMQP协议的一部分。这与MQTT相同,并且https是有效的后备。API为您包装了所有这些内容。还有其他概念,例如“直接方法”,它们是围绕基本相同的基础消息协议的API包装作为AMQP(或MQTT)协议的一部分,应注意很多“轮询”,连接,共享连接,收据等,该协议又包装在IoT中心SDK中。因此,上述内容经过了高度简化,但是重申一下,IoT中心不能也不会(永远)尝试将数据发送到设备上的ip地址/端口。