0

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

我必须在 Ejabberd 中打开任何特定的东西吗?

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

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

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

4

1 回答 1

0

要获取最后的活动信息,需要将用户添加到他/她的名册列表中。假设A希望获得B的最后一次活动,那么 A 需要添加到 B 的花名册列表中。

因此,您需要在访问上次看到的信息之前将 A 和 B 添加到彼此的名册列表中。您可以使用set roster或 ejabberd ejabberdctl管理工具来添加彼此的名册列表。

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

于 2016-05-21T19:57:53.870 回答