ejabberd

时间:2015-07-07 05:10:33

标签: ejabberd asmack

我们在服务器上安装了ejabberd。

我正在使用asmack 4.0.7与ejabberd服务器进行交互。

我希望知道所有用户的最后一项活动(XEP-0012)。

我的服务器上有10个用户帐户。 viz john @ myserver.in,mike @ myserver.in,jerry @ myserver.in等。

ejabberd的行为是找到用户的最后一个活动,该用户必须登录。我的意思是检查john@myserver.in的最后一个活动,他必须登录。

如果我以john@myserver.in身份登录,那么我成功获得了john@myserver.in的最后一项活动。登录john后,如果我检索mike@myserver.in,jerry@myserver.in或任何其他用户的最后活动,我会收到ejabberd服务器的 service-unavailable 响应。

<iq from='mike@myserver.in/Smack' to='john@myserver.in/Smack' type='error' id='uHn-5'> <query xmlns='jabber:iq:last'/><error code='503' type='cancel'> <service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/> </error></iq>

我的要求是在不为所有用户登录的情况下检索上一个活动。

这可能吗?

如果此查询需要任何其他信息,请与我们联系。

感谢

1 个答案:

答案 0 :(得分:1)

如果您想要所有用户的上次活动,这可能适用于后端任务。您不应该使用XMPP客户端协议,而是使用后端模块(ejabberd插件或从上一个数据库读取)。