使用ejabberd在Django中更改XMPP用户的状态

2024-04-23 17:33:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我想要一个功能,如果用户改变了他的状态,这个状态需要在运行时反映出来(比如Whatsapp)。我的应用程序在IOS和Android上,后端在Django。在

我建议使用ejabberd服务器来实现这一点,因为tt支持XMPP协议。 我不知道如何实现这个功能。有人能引导我吗?在


Tags: django用户功能服务器应用程序协议状态xmpp
1条回答
网友
1楼 · 发布于 2024-04-23 17:33:32

XMPP中有许多方法可以表示用户的状态:

  • presence:它允许您传达用户的可用性(预定义的"show" elements:可用、离开、请勿打扰等)和您的status(自由格式文本)。然而,存在与用户会话相关,并且假设他有一个XMPP会话打开(因此是连接的)。这意味着它将由用户从客户端设置,而不是从后端设置,并且只在用户在线时广播给联系人。

  • Last activity:这是对XMPP存在的补充。它是在用户脱机时获取用户状态信息的一种方法。我建议使用它来更熟悉XMPP。从后端到后端的ejabberd数据库将与您的数据库集成到后端。需要读取它的用户(例如打开转换选项卡时)可以显示XMPP(如果用户在线),或者显示最后一个活动(如果用户脱机)。您也可以让用户在不可用(脱机)时将自己的状态设置为“上次出现”。它将由ejabberd在最后一个表中自动更新。

  • mood:这是用来更完整地表达状态的东西。用户可以设置更丰富的状态和心情不紧张的存在。但是,与后端的集成要复杂一些,因为它基于PubSub协议。

总而言之,在您的例子中,您可以混合使用标准XMPP状态和后端状态更改的最后一个活动。在

相关问题 更多 >