Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure iot hub IOT-HUB device node.js sdk message.on方法不工作_Azure Iot Hub - Fatal编程技术网

Azure iot hub IOT-HUB device node.js sdk message.on方法不工作

Azure iot hub IOT-HUB device node.js sdk message.on方法不工作,azure-iot-hub,Azure Iot Hub,一旦事件将通过Device Node.JS sdk从设备发送到云IOT-HUB,一旦IOT HUB上收到消息,同样需要向nodejs确认。 我们发现了一些关于相同的参考资料,下面提到的方法也适用于相同的参考资料 client.on('message', function(msg) { console.log('Received Message from IoT Hub: ' + msg.data); client.complete(

一旦事件将通过Device Node.JS sdk从设备发送到云IOT-HUB,一旦IOT HUB上收到消息,同样需要向nodejs确认。 我们发现了一些关于相同的参考资料,下面提到的方法也适用于相同的参考资料

client.on('message', function(msg) {
                console.log('Received Message from IoT Hub: ' + msg.data);
                client.complete(msg, printResultFor('completed'));
                // We are done here
            });
但这种方法在任何情况下都不会触发。
请提出建议。

您对问题的描述和代码行不一致

一旦事件将通过设备发送到云IOT-HUB Node.JS sdk,一旦在IOT Hub上接收到消息,同样需要 向nodejs致谢

它是指物联网中心接收到的D2C消息

client.on('message', function(msg) {
                console.log('Received Message from IoT Hub: ' + msg.data);
                client.complete(msg, printResultFor('completed'));
                // We are done here
            });
但它所说的是在设备客户端接收C2D消息

要触发此方法,
客户端。在
上,您需要从IoT Hub服务器端发送C2D消息。出于测试目的,您只需从Azure Portal或以下站点发送C2D消息:

如果运行此示例:您将收到如下D2C消息(我在示例代码中添加了这一行
console.log('client.on triggered!!!');


好的。。。我明白你的意思了。。。。这起作用了。。所以,我们的理解是,一旦消息从C2D路径发送,DeviceSDK client.on()方法将调用。这很好。。现在,问题是。。。。。。。。。。我们必须使用节点JS通过D2C路径发送事件。。。。。。现在,Node.JS将如何获得事件已成功到达云端的确认。@RamanGupta没有这样的确认机制。如果发送成功,您可以监视发送方法,并且不会发生错误。如果要检查发送的消息,可以使用或监视设备到云事件。