【问题标题】:XMPP Roster presenceXMPP名册存在
【发布时间】:2012-11-30 14:21:28
【问题描述】:

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

我的情况:

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

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

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

对不起,我的英语很差。谢谢。

【问题讨论】:

    标签: xmpp user-presence rostering


    【解决方案1】:

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

    我对 JSJaC 不熟悉,但可能有一个回调,存在的地方。

    【讨论】:

      【解决方案2】:

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

      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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-05-24
        • 2015-09-19
        • 2017-07-18
        • 2014-04-12
        • 1970-01-01
        • 2011-02-25
        • 2018-11-11
        相关资源
        最近更新 更多