Django与ejabberd之间的交互,用于Web聊天应用程序。

6
我正在开发一个网站项目,需要制作一个网页聊天室。我的结构大致如下:用户需要输入用户名、密码、昵称和电子邮件地址才能加入聊天室,然后可以与其他联系人聊天。我使用 Django(Python)作为后端框架,使用 XMPP 实现聊天功能。
我已经阅读了很多关于 XMPP 的资料,并通过添加/删除联系人、昵称等简单实现了聊天。但是,我想问的是如何与 Django 和 ejabberd 进行通信,例如注册用户(我不想使用 in-band 注册,只想在用户创建帐户时启用注册)、更改密码、更新昵称等需要提升特权的操作。
在发布此问题之前,我进行了一些研究,了解了 sleekxmp,但据我所知,它只是适用于 XMPP 的 Python 库。此外,我没有找到 ejabberd 的 API。
谢谢。
2个回答

0

除非明确指定为阻塞,否则SleekXMPP会在单独的线程中运行连接。也就是说,如果不想设置完整的Celery工作程序,那么在进程全局范围内拥有SleekXMPP连接(或连接池),并在视图中使用这些命令进行异步运行或不会引起显着延迟的操作(例如用户注册或MUC管理)是可以接受的。在这种情况下,这些XMPP连接与DB连接非常相似。 - drdaeman

0

默认情况下,ejabberd使用内部用户数据库,但您可以设置ejabberd使用外部认证脚本来管理用户 - 这里有一些示例脚本可用于与Django应用程序集成,与现有数据库集成,您也可以从头开始编写自己的extauth脚本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接