相关疑难解决方法(0)

Django向用户推送HTTP响应

我目前有一个用Django编写的非常简单的Web应用程序,我想在我的应用程序中实现类似回调/推送通知服务.

例如:当一个用户(客户端)将照片上传到服务器时,服务器会通知所有其他连接的用户该照片.

我想我可以使用Django信号在用户上传照片时产生回调,但是如何让Django向其他用户发布通知呢?此通知可以是警报,也可以只是将其他用户重定向到显示上传图片的新html.我更喜欢后者.

我是网络编程的初学者,所以我不确定这是否适合需要实现彗星或长轮询等实时内容的"实时网络应用程序".我的应用程序类似于聊天应用程序,除了我不提交文本文件而是提交图像文件.因此,我认为彗星解决方案可行.我已经尝试过很长一段时间看Orbited和Twisted但是没有运气用Django实现它,可能是因为我不明白如何用彗星解决方案完成我想要的东西.我希望更有经验的程序员能够指出我为了实现这一点我需要什么,或者我是否朝着正确的方向前进(使用彗星).

如果有人能给我一些关于如何继续的提示和提示,以及教程链接或指南,我将非常感激.

django push twisted orbited

34
推荐指数
2
解决办法
2万
查看次数

使用websockets和python/django进行移动(/ twisted?)

websockets的有趣部分是从服务器向浏览器发送基本上未经请求的内容吗?

好吧,我正在使用GregorMüllegger的django-websocket.在使用Django的websockets时,这是一个非常精彩的早期破解.

我已经完成了"你好世界".其工作方式是:当请求是websocket时,对象websocket将附加到请求对象.因此,我可以在解释websocket的视图中执行以下操作:

request.websocket.send('We are the knights who say ni!')
Run Code Online (Sandbox Code Playgroud)

这很好.我在浏览器中收到的消息就像魅力一样.

但是,如果我想在不发出浏览器请求的情况下这样做呢?

好的,首先我将websocket保存在会话字典中:

request.session['websocket'] = request.websocket
Run Code Online (Sandbox Code Playgroud)

然后,在shell中,我按会话密钥抓取会话.果然,会话字典中有一个websocket对象.快乐!

但是,当我尝试做的时候:

>>> session.get_decoded()['websocket'].send('With a herring!')
Run Code Online (Sandbox Code Playgroud)

我明白了:

Traceback (most recent call last):
File "<console>", line 1, in <module>
error: [Errno 9] Bad file descriptor
Run Code Online (Sandbox Code Playgroud)

伤心.:-(

好了,我不知道很多关于插座什么,但我知道足够嗅出在调试器周围,你瞧,我看到在我的调试器插座(这是联系在一起的真正的WebSocket从请求)已FD = 6,而我从会话保存的网页套接字抓起一个已FD = -1.

套接字导向的人可以帮我解决这个问题吗?

python sockets django websocket

24
推荐指数
2
解决办法
7403
查看次数

标签 统计

django ×2

orbited ×1

push ×1

python ×1

sockets ×1

twisted ×1

websocket ×1