0

我在 django 框架中建立了一个网站。它有很多功能,例如博客、论坛,基本上有很多用户可以交互的方式。我建立了一个基本的通知框架,当有人在他们的博客上发表评论或在论坛中回答他们的问题时,用户会收到通知。

由于通知存储在 db 中,因此只有在页面刷新完成时才会显示新通知。我想使用长轮询技术之类的推送服务器使其实时。

我遇到过NowJS这似乎很方便,但是在给出的所有示例中,我看不到任何与数据库交互的示例。在所有情况下,一个客户发送了一些信息,并显示给一个或多个客户。

我真正想做的是使用 NowJS 调用一个函数,并让它进入睡眠状态,直到在数据库中添加一个新的通知。当有新通知进入时,服务器会以通知进行响应,并立即完成新请求。

除了如何从 NowJS 使用的节点服务器访问数据库之外,我可以弄清楚所有其他部分。任何帮助或指导表示赞赏。

4

1 回答 1

1

任何一个:

  1. 让您的 node.js 服务器通过类似 REST api 的方式对 Django 服务器进行 http 调用以获取信息
  2. 谷歌为 node.js 提供了一个数据库连接器——我找到了足够的 MySQL 连接器证据,以及 PostgreSQL 连接器的传闻。请注意,这不会让您访问 Django DB API,因此您必须解决所有相关查询并手工制作 SQL(确保 Bobby Tables 不会打扰您:http://www.xkcd .com/327 )
  3. 重新实现 NowJS 协议,这样你就可以为它编写一个 django 服务器,在客户端上保持相同的 JS 客户端代码......但是你也可以......

...使用 django-socketio http://blog.jupo.org/2011/08/13/real-time-web-apps-with-django-and-websockets/

于 2012-03-01T08:30:31.927 回答