Ger*_*ero 13 python django websocket
我想知道如何使用websockets创建一个django webservice(用XML响应).我已经有一个django webservice接受xml请求,解析这些请求,进行数据库查询,创建响应xml并将该xml发送回请求者/浏览器.只是一个普通的HTTP XML请求,其中响应在浏览器中显示为xml.
但是我现在如何创建一个websocket django webservice?假设我想在发生新的魔法事件时,使用数据库中的最新数据向请求者/浏览器发送xml响应.
我已经阅读了很多帖子和博客,但它有点太一般了.我可以用django + apache解决这个问题,还是我需要django旁边的其他东西和另一台服务器来处理websockets?
我现在正在使用django 1.3,Apache + wsgi,但我准备切换任何可行的配置.
更新:
有很多可能的websockets,http: //pypi.python.org/pypi?:action = search&term =webocket&subsmit = search 但是哪一个可以在我的情况下使用?
对不起,但django处理异步请求非常非常糟糕,因为它是wsgi.如果您必须处理真实用户,您将受到并行实例数量的限制.最好的解决方案是使用tornado或node.js.
龙卷风处理websocket和长时间的轮询.这是我的包装器,允许从并行龙卷风线程获取用户和会话:
https://gist.github.com/1939836
它是从一个更复杂的来源改编而来,我没有测试过这个要点,它是长期轮询,但也是龙卷风手工WebSocket.
http://www.tornadoweb.org/documentation/websocket.html
更新:
避免使用django-websocket进行生产.即使主要开发者也建议不要这样做.
我推荐龙卷风,因为它是一种非常棒的技术,它比django更快/更轻.它可能对一些简单的情况有用.无论如何你都需要配置apache/nginx,至少可以获得"更快的网页"功能.
Django-Desktop-Notification专注于chrome浏览器并需要node.js.
更新(01/2016):
Mozilla在2015年底向django捐款以解决这个问题,目前django核心开发者最有希望实现的是这个:
https://github.com/andrewgodwin/channels
它可能是django 1.11或2.0的一部分
| 归档时间: |
|
| 查看次数: |
7128 次 |
| 最近记录: |