XMPP名册的存在

时间:2012-11-30 14:21:29

标签: xmpp user-presence rostering

我的名册机制存在问题,我正在使用JSJaC javascript库。

我的情况:

用户A有一个简单的名单,其中包含另一个订阅“both”的用户B.用户B具有相同的配置。

当用户A登录到openfire时,我调用我的“getRoster()”函数返回用户的朋友列表(在我的情况下,只有用户B),但我如何检查用户B当前是否可用聊天?

我看到有一些存在机制,但我不明白我如何使用它们。

抱歉我的英语不好。谢谢。

2 个答案:

答案 0 :(得分:0)

当您将自己的状态发送到服务器时,服务器会开始向您发送您订阅的联系人的所有状态。默认情况下,您必须将所有联系人视为脱机。

我对JSJaC并不熟悉,但可能存在回调,其中存在。

答案 1 :(得分:0)

您应该注册一个presence处理程序。假设你有一个名单作为用户数据的数组,你可以这样做:

xmpp.registerHandler 'presence', (response) ->
  user = _.find @roster, jid: (response.getFrom().split '/').shift()
  if user
    if response.getType() is 'unavailable'
      user.online = no
    else
      user.online = yes