将数据从Web发送到本地服务器

时间:2017-03-10 16:03:07

标签: javascript node.js mongodb express

我正在开发一个家庭自动化中心 - 一个运行本地的Raspberry Pi,它显示天气信息,控制我的灯光等。它是“网络化的”(我用松散的术语)来通过共享的MongoDB建立一个网站。站点和集线器都运行Node.js / Express服务器。

基本上,我希望能够在我的网站上的字段中输入文本,然后将其显示在我的集线器上。

我正在努力弄清楚如何在它们之间传递数据。我可以想到可能完成它的几种方式,但我知道我可以工作的唯一方法是实现某种Mongo观察者/监听器来监视特定集合的变化。基本上,您将文本输入到站点中,在Mongo中更新文档,观察者通知本地运行的集线器,然后获取并显示新内容。

这看起来很丑陋。有没有更好的办法?这是socket.io可以管理的吗?也许我在思考它?救命啊!

1 个答案:

答案 0 :(得分:1)

您可以使用Socket.io,WebSocket或TCP套接字将两台服务器连接在一起并以此方式进行通信。或者您可以使用ZeroMQ或RabbitMQ等队列系统并以此方式进行通信。或者,您甚至可以在每次希望获取新数据时从一个服务器向另一个服务器发出HTTP请求 - 或者您甚至可以在请求中直接发送该数据。

如果您使用支持pub / sub的Redis会更容易,请参阅:

或支持更改Feed的CouchDB:

或支持更改源的RethinkDB:​​

我不认为Mongo支持这样的事情。

相关问题