相关疑难解决方法(0)

使用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 ×1

python ×1

sockets ×1

websocket ×1