Django与ejabberd在网页聊天应用中的交互
我正在做一个网页项目,需要实现一个网页聊天功能。我的项目结构大致是这样的:用户有用户名、密码、昵称和邮箱,可以和在自己好友列表中的其他人聊天。我使用的是django(Python)作为网页的后端,而聊天部分则用xmpp。
我已经阅读了很多关于xmpp的资料,并且用stanzas实现了一个简单的聊天功能,包括添加和删除联系人、修改昵称等。
我想问的是,如何让django和ejabberd之间进行沟通,比如用户注册(我不想要内联注册,只希望在用户创建账户时才能注册)、修改密码、更新昵称等。这些操作大多需要一些特殊权限。
在发帖之前我做了一些研究,我知道有sleekxmp这个库,但我觉得它只是一个xmpp的Python库。此外,我没有找到ejabberd的API。
谢谢。
2 个回答
0
了解一下阻塞的概念,以及如何使用类似django-celery的工作方式来解决这个问题。你不想在视图中简单粗暴地使用一个流畅的xmpp客户端。
因为聊天是双向的,你可能需要WebSocket + Django Python WebService,或者Django / Comet (推送):最少的坏选择?,甚至是“老派”的Django中的长轮询。