Strophe.js sendIQ让最后一项活动无效,Ejabberd

时间:2016-05-18 14:42:01

标签: ejabberd strophe ejabberd-module strophe.js

我试图找到一种方法来查看用户是否在线/连接而不知道其SID。我得到的唯一方法是检查它的最后活动时间。如果它返回错误然后它在线,如果它有价值然后它不在线....我不确定是否有任何其他方式来查看用户是否在线。

我是否必须在Ejabberd中切换任何特定的东西?

但是当我发送智商时它也不起作用。

    var iq = $iq({
          type: 'get',
          id: 'last1',
          to: "jay@server.com" })
.c('query', {xmlns: 'jabber:iq:last'}); 
conn.sendIQ(iq);

编辑:我发现请求实体无权检索最后的活动信息,我将如何允许?我是管理员

1 个答案:

答案 0 :(得分:0)

要获取最后一个活动信息,需要将用户添加到他/她的名单列表中。让我们说 A 希望上次看到 B 的活动,然后需要将A添加到B的名单列表中。

因此,您需要在访问最后看到的信息之前将A和B添加到彼此的名单列表中。您可以使用设置名单或ejabberd ejabberdctl 管理工具添加彼此的名单列表。

我猜你已经在ejabberd配置中启用了 mod_last 模块。