我们在服务器上安装了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>
我的要求是在不为所有用户登录的情况下检索上一个活动。
这可能吗?
如果此查询需要任何其他信息,请与我们联系。
感谢
答案 0 :(得分:1)
如果您想要所有用户的上次活动,这可能适用于后端任务。您不应该使用XMPP客户端协议,而是使用后端模块(ejabberd插件或从上一个数据库读取)。