我正在制作一个网络应用程序原型,以使用 Firebase 库持续监控我的巢穴的更新,我想讨论一下实现它的方法。Nest 有使用用户端 JavaScript 的移动应用程序和 Web 应用程序的示例供 Nest 开发人员使用,但没有使用 node.js 实现持续监控的示例。我希望在这里讨论一些想法,而不是一个工作示例。
举个我想做的例子:如果我的烟雾报警器响了,我想向我和我的家人发送一封电子邮件(发出爆炸的机制并不重要)。我正在使用 node.js 和 express.js,我不想让网页保持打开状态来监控我的家。因此我想在服务器端实现我的监控。
我目前的计划是将功能合并到我在路由控制器中使用的类中,以便用户可以向 URL 发出请求以激活监控,并在用户离开网站后保持连接和相关数据。在我的测试中,网络应用程序在我断开连接后会继续监视我的巢穴,但我不确定连接是否最终会超时。无论如何,连接问题很常见,所以无论如何我都需要解决这个问题。
所以这里是我正在考虑的一般问题:
将监控代码放在路由/控制器中是否合适?或者另一个框架,比如 Ruby on Rails(我看到了一些关于使用 RESTful 流的东西),是否更适合持续监控?
应该如何存储监控连接的开销数据(如 device_ID)?有没有比创建“连接”对象更好的方法来存储开销数据?
最后,监控连接最终会超时吗?无论如何,有什么方法可以重新建立中断的连接(我阅读了 的文档.onDisconnect
,但它不允许自定义回调)?