node.js:create app,通过数据驱动的事件自动更新客户端

时间:2014-09-23 11:11:41

标签: javascript json node.js

我现在花了差不多三天时间学习node.js.我通过在线网络广播清除了基础知识。我查看了几个示例和教程如何构建简单的应用程序,如webserver,聊天程序,连接到mySQL DB,使用mongo DB和json ...

到目前为止一切顺利。但是达到我的目标仍然是不可能的,因为这些简单的场景总是在它开始变得有趣时结束。

我的目标是构建一个能够执行以下操作的演示项目:

1-在服务器端保存一个简单的数据对象列表 2-在所有连接的客户端的网页上显示它们 3-允许Web客户端修改数据对象 4-一旦对象被修改,几乎立即更新所有其他客户端页面

(对于第一步,可以假设所有对象都被加载并保存在服务器的内存中(服务?) - 而不是轮询数据库中的更改或子查询任何数据库事件 - 似乎是另一个大型X档案主题人们填写有关...的书籍。

关于1-3:我已经意识到使用mongodb和json以及从以下演练中获取的一些addd / edit / delete方法:http://cwbuecheler.com/web/tutorials/2014/restful-web-app-node-express-mongodb/

关于4:看了几个聊天应用程序示例(例如http://nodecode.de/chat-nodejs-websocket)后,我认为这可能是解决此任务的好方法,只需通过套接字广播已更改的对象(而不是发送聊天短信)。

所以我尝试将这些样本组合到一个符合我需求的应用程序中。但我失败了。甚至在我连接功能之前,当我尝试放置显示/修改对象列表的两个功能并在一个页面上并排提供聊天功能时,我已经卡住了。

也许我仍然缺少一些基础知识。也许这种方法是错误的。我无法在任何地方找到类似任务的样本。所以我想现在是时候向专业人士询问在哪里或如何开始的一些帮助。

提前致谢。

1 个答案:

答案 0 :(得分:2)

你走在正确的轨道上。 Websocket是正确的方法。

"当我试图放置显示/修改的两个功能时已经卡住了......" 如果没有阅读您的代码,我就无法给您详细解答问题的答案,但这里有一个模糊的高级总结,我会做什么:

  • 在服务器端创建一个api端点,供客户端读取和更新数据。
  • 了解如何使用websocket启动从服务器到客户端的连接。
  • 每次api收到"更新时,都会使用websocket向客户端发送通知。请求。
  • 每次来自服务器的通知时,在客户端编写一组函数来获取和呈现新数据