首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在django中构建推送系统?

如何在django中构建推送系统?
EN

Stack Overflow用户
提问于 2012-06-07 15:32:00
回答 7查看 22.5K关注 0票数 24

我需要在django中建立一个推送系统,它的基本功能是将消息从服务器推送到浏览器。

由于nodejs不能使用,我更喜欢websocket或orbited,但我不知道如何在django中实现这两个。请给我推荐一个方法,这会对我有很大的帮助,谢谢。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-06-07 16:27:40

Django不擅长把东西“推”给客户。如果django是您唯一的选择,那么模拟推送的唯一方法就是通过长轮询。但这并不是很有效。相反,websockets是热门的。龙卷风和扭曲可以帮助你在这里。你的问题here也有一个更完整的答案。

票数 11
EN

Stack Overflow用户

发布于 2012-06-07 18:25:34

一种选择是使用与Django服务器并行运行的WebSocket服务器,该服务器具有REST/Push API,然后从Django通过简单的HTTP/Push到WebSocket服务器进行推送,然后再将消息传递给所有连接的WebSocket客户端。

通过这种方式,你不需要对现有的Django应用程序进行任何结构/技术上的改变,但却拥有一个可伸缩的、现代的基于WebSocket的推送功能。

对于上面提供的托管服务,我会看看http://pusher.com

如果你更喜欢运行你自己的,我可以看看http://autobahn.ws,它被部署为一个随时可以运行的虚拟设备(VMware,VirtualBox,亚马逊EC2)。您可以在这里找到REST/API的工作示例https://github.com/tavendo/AutobahnPushPython

免责声明:我是Autobahn开源的作者,并为Tavendo工作,该公司提供Autobahn.ws (基于Autobahn OSS的商业产品)。

票数 13
EN

Stack Overflow用户

发布于 2015-01-21 22:26:03

websockets在Django中的另一个实现:https://github.com/jonashagstedt/swampdragon

来自文档: SwampDragon使用了Djangos出色的ORM,Tornados优秀的websocket支持(带回退。在IE7中测试),以及Redis的闪耀速度。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10927505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档