【问题标题】:How can I know I'm online, in ejabberd我怎么知道我在线,在 ejabberd
【发布时间】:2015-10-21 08:07:14
【问题描述】:

我已将 ejabberd 配置为在多个选项卡中工作,方法是为每个选项卡中的每个连接传递不同的 resource(如 rraptorr 提到的here)。它在每个选项卡中都可以正常工作。

现在的问题是,如果我关闭 1 个选项卡,则会向其他用户发送一个在线离线节,说我离线,而我在其他具有不同资源的选项卡中在线。

问题:有没有办法使用我的 jid 检测我是否在线?

【问题讨论】:

    标签: xmpp ejabberd


    【解决方案1】:

    XMPP 是一种多资源/多连接协议。客户不应该只考虑最后的出席信息,而是为他的联系人保留所有连接资源的列表。这样,当收到状态不可用时,它需要确保只有关联的资源被标记为离线,而不是来自用户的所有资源。

    【讨论】:

    • @Mickaël Rémond 感谢您的回复。我明白你想说什么,但如果我听从你的建议,那么我需要知道与特定用户相关的资源列表。我不知道如何找回它。你能帮我吗?一个很好的例子。
    • 对于每个连接的资源,您将收到不同的可用状态。您只需要正确缓存它们。您无法检索列表,您需要保持客户端中每个用户连接资源的最新视图。
    猜你喜欢
    • 2012-05-03
    • 2012-05-15
    • 2017-04-25
    • 2012-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-31
    • 2017-02-21
    相关资源
    最近更新 更多