4

对于这个问题,我没有任何代码示例,因为我不知道从哪里开始。

如何使用 Django 和 Node 将通知仅推送到特定的 Web 客户端?

例如,用户 A 执行一项活动。为了确认所述活动,我想仅向该用户或客户端推送通知。有人可以指出我可以用来构建这样一个系统的正确资源吗?

编辑 应用程序的当前架构

服务器:Django Rest Framework 前端:AngularJS

计划使用 Node 进行通知。我唯一感到困惑的部分是将其发送给特定用户。什么是阻止所有用户收到仅适用于一个用户的通知。

4

2 回答 2

1

如果我们说的是 Web 客户端(浏览器),它只能使用 websockets 或一些依赖 Java(不是 Javascript)或 Flash 的技术来实现。

我假设您想避免使用 Java 和 Flash,所以这里唯一的解决方案是 websockets。

正确理解它:没有像纯推送通知这样的东西(纯推送是指服务器正在与客户端建立连接,而不是其他方式)。从客户端到服务器始终存在连接。但是使用 websockets 连接可以是持久的,因此您可以每次都从服务器通知发送到客户端。这意味着:对于每个客户端,都会有持久的连接,以某种方式给你的服务器带来压力。记在脑子里。

一些用于 django 的数据包,可以使用,这将允许您创建 websocket 服务器。对于其中一些,您将需要支持 Web 服务器(例如 Nginx)和 wsgi 服务器(例如 uWSGI)。

于 2015-08-11T10:05:33.030 回答
0

从@GwynBleidD 提到的所有这些软件包中,我认为最好的选择是http://swampdragon.net/

但是所有这些都带来了您需要自己实现它的问题,甚至在某些情况下重新构建您的应用程序。

如果您正在寻找更简单的东西,我会看看https://pusher.com/ 您可以使用 python 轻松地将消息发送到特定客户端,并在客户端使用 javascript 处理该消息。这只是您可以做的一系列事情之一。

于 2015-08-12T12:41:51.173 回答