背景:我正在创建一个 Node.js Web 应用程序来模拟设备并将事件发布到在 Watson IoT Platform 中注册的 Node-Red 应用程序和设备。
Node red Application 订阅事件并执行自定义逻辑。
作为 Node.js Web 应用程序的一部分,在单击 Web 应用程序中的提交按钮时,我正在提交一个带有文本框值的发布请求。我正在处理 app.js 中的请求并发布事件
问题:当我第一次提交请求时,它工作得很好。但从第二次开始,它不断尝试重新连接并重复发布事件
App.js 代码--> Post 方法部分
app.post('/status/data', function(req, res) { console.log("3rd param is " + req.body.eid); application.connect(); console.log("Successfully connected to our IoT service!"); application.on("connect", function () { console.log("About to publish data "); application.publishDeviceEvent(deviceType, deviceId, eventType, eventFormat, eventData); console.log("published data "); }); res.writeHead(200, "OK", {'Content-Type': 'text/plain'}); res.end(); });
首次发布请求 - 日志详细信息
2017 年 6 月 29 日 04:12:47.346 PM APP/PROC/WEB/0 第三个参数是 111111 2017 年 6 月 29 日 04:13:04.785 PM APP/PROC/WEB/0 [BaseClient:connect] 使用主机连接到 IoTF:ssl ://9z9mtd.messaging.internetofthings.ibmcloud.com:8883 Jun 29, 2017 04:13:04.786 PM APP/PROC/WEB/0 成功连接到我们的物联网服务!2017 年 6 月 29 日 04:13:04.814 PM APP/PROC/WEB/0 即将发布数据 2017 年 6 月 29 日 04:13:04.855 PM APP/PROC/WEB/0 [ApplicationClient:publish] 发布:iot-2/type /CardSim/id/EB27FNW/evt/update/fmt/json, {"d":{"eid":222261,"loc":1234}}, QoS : 0 Jun 29, 2017 04:13:04.855 PM APP/ PROC/WEB/0 发布数据 2017 年 6 月 29 日 04:13:04.855 PM APP/PROC/WEB/0 [ApplicationClient:connnect] ApplicationClient Connected 2017 年 6 月 29 日 04:13:04.855 PM RTR/1
第二次发布请求 - 日志详细信息
x_b3_spanid:"920cb5951fe2dee3" x_b3_parentspanid:"-" Jun 29, 2017 04:13:52.908 PM APP/PROC/WEB/0 成功连接到我们的物联网服务!2017 年 6 月 29 日 04:13:52.895 PM APP/PROC/WEB/0 [BaseClient:onClose] 连接已关闭。2017 年 6 月 29 日 04:13:52.929 PM APP/PROC/WEB/0 [BaseClient:connect] Iotfclient 离线。重试连接 2017 年 6 月 29 日 04:13:52.928 PM APP/PROC/WEB/0 [BaseClient:connect] 3 秒后重试。计数 : 1 Jun 29, 2017 04:13:52.928 PM APP/PROC/WEB/0 [ApplicationClient:connnect] ApplicationClient Connected Jun 29, 2017 04:13:52.930 PM APP/PROC/WEB/0 即将发布数据 Jun 29 , 2017 04:13:53.972 PM APP/PROC/WEB/0 [ApplicationClient:publish] 发布:iot-2/type/CardSim/id/EB27FNW/evt/update/fmt/json, {"d":{"eid ":222261,"loc":1234}},服务质量:0 x_b3_parentspanid:"-" Jun 29, 2017 04:13:52.908 PM APP/PROC/WEB/0 成功连接到我们的物联网服务!2017 年 6 月 29 日 04:13:52.895 PM APP/PROC/WEB/0 [BaseClient:onClose] 连接已关闭。2017 年 6 月 29 日 04:13:52.929 PM APP/PROC/WEB/0 [BaseClient:connect] Iotfclient 离线。重试连接 2017 年 6 月 29 日 04:13:52.928 PM APP/PROC/WEB/0 [BaseClient:connect] 3 秒后重试。计数 : 1 Jun 29, 2017 04:13:52.928 PM APP/PROC/WEB/0 [ApplicationClient:connnect] ApplicationClient Connected Jun 29, 2017 04:13:52.930 PM APP/PROC/WEB/0 即将发布数据 Jun 29 , 2017 04:13:53.972 PM APP/PROC/WEB/0 [ApplicationClient:publish] 发布:iot-2/type/CardSim/id/EB27FNW/evt/update/fmt/json, {"d":{"eid ":222261,"loc":1234}},服务质量:0 x_b3_parentspanid:"-" Jun 29, 2017 04:13:52.908 PM APP/PROC/WEB/0 成功连接到我们的物联网服务!2017 年 6 月 29 日 04:13:52.895 PM APP/PROC/WEB/0 [BaseClient:onClose] 连接已关闭。2017 年 6 月 29 日 04:13:52.929 PM APP/PROC/WEB/0 [BaseClient:connect] Iotfclient 离线。重试连接 2017 年 6 月 29 日 04:13:52.928 PM APP/PROC/WEB/0 [BaseClient:connect] 3 秒后重试。计数 : 1 Jun 29, 2017 04:13:52.928 PM APP/PROC/WEB/0 [ApplicationClient:connnect] ApplicationClient Connected Jun 29, 2017 04:13:52.930 PM APP/PROC/WEB/0 即将发布数据 Jun 29 , 2017 04:13:53.972 PM APP/PROC/WEB/0 [ApplicationClient:publish] 发布:iot-2/type/CardSim/id/EB27FNW/evt/update/fmt/json, {"d":{"eid ":222261,"loc":1234}},服务质量:0 908 PM APP/PROC/WEB/0 成功连接到我们的物联网服务!2017 年 6 月 29 日 04:13:52.895 PM APP/PROC/WEB/0 [BaseClient:onClose] 连接已关闭。2017 年 6 月 29 日 04:13:52.929 PM APP/PROC/WEB/0 [BaseClient:connect] Iotfclient 离线。重试连接 2017 年 6 月 29 日 04:13:52.928 PM APP/PROC/WEB/0 [BaseClient:connect] 3 秒后重试。计数 : 1 Jun 29, 2017 04:13:52.928 PM APP/PROC/WEB/0 [ApplicationClient:connnect] ApplicationClient Connected Jun 29, 2017 04:13:52.930 PM APP/PROC/WEB/0 即将发布数据 Jun 29 , 2017 04:13:53.972 PM APP/PROC/WEB/0 [ApplicationClient:publish] 发布:iot-2/type/CardSim/id/EB27FNW/evt/update/fmt/json, {"d":{"eid ":222261,"loc":1234}},服务质量:0 908 PM APP/PROC/WEB/0 成功连接到我们的物联网服务!2017 年 6 月 29 日 04:13:52.895 PM APP/PROC/WEB/0 [BaseClient:onClose] 连接已关闭。2017 年 6 月 29 日 04:13:52.929 PM APP/PROC/WEB/0 [BaseClient:connect] Iotfclient 离线。重试连接 2017 年 6 月 29 日 04:13:52.928 PM APP/PROC/WEB/0 [BaseClient:connect] 3 秒后重试。计数 : 1 Jun 29, 2017 04:13:52.928 PM APP/PROC/WEB/0 [ApplicationClient:connnect] ApplicationClient Connected Jun 29, 2017 04:13:52.930 PM APP/PROC/WEB/0 即将发布数据 Jun 29 , 2017 04:13:53.972 PM APP/PROC/WEB/0 [ApplicationClient:publish] 发布:iot-2/type/CardSim/id/EB27FNW/evt/update/fmt/json, {"d":{"eid ":222261,"loc":1234}},服务质量:0 onClose] 连接已关闭。2017 年 6 月 29 日 04:13:52.929 PM APP/PROC/WEB/0 [BaseClient:connect] Iotfclient 离线。重试连接 2017 年 6 月 29 日 04:13:52.928 PM APP/PROC/WEB/0 [BaseClient:connect] 3 秒后重试。计数 : 1 Jun 29, 2017 04:13:52.928 PM APP/PROC/WEB/0 [ApplicationClient:connnect] ApplicationClient Connected Jun 29, 2017 04:13:52.930 PM APP/PROC/WEB/0 即将发布数据 Jun 29 , 2017 04:13:53.972 PM APP/PROC/WEB/0 [ApplicationClient:publish] 发布:iot-2/type/CardSim/id/EB27FNW/evt/update/fmt/json, {"d":{"eid ":222261,"loc":1234}},服务质量:0 onClose] 连接已关闭。2017 年 6 月 29 日 04:13:52.929 PM APP/PROC/WEB/0 [BaseClient:connect] Iotfclient 离线。重试连接 2017 年 6 月 29 日 04:13:52.928 PM APP/PROC/WEB/0 [BaseClient:connect] 3 秒后重试。计数 : 1 Jun 29, 2017 04:13:52.928 PM APP/PROC/WEB/0 [ApplicationClient:connnect] ApplicationClient Connected Jun 29, 2017 04:13:52.930 PM APP/PROC/WEB/0 即将发布数据 Jun 29 , 2017 04:13:53.972 PM APP/PROC/WEB/0 [ApplicationClient:publish] 发布:iot-2/type/CardSim/id/EB27FNW/evt/update/fmt/json, {"d":{"eid ":222261,"loc":1234}},服务质量:0
这个过程不断重复。请帮忙