如何获得 openfire 订阅“to”名册状态?

Posted

技术标签:

【中文标题】如何获得 openfire 订阅“to”名册状态?【英文标题】:how to get openfire Subscription "to" roster status? 【发布时间】:2014-11-07 02:43:52 【问题描述】:

伙计们

只有一个问题。

例如,openfire 服务器中的 A 和 B 用户。 A 用户的名册上有 B 用户(订阅“来自”),B 用户的名册上有 A 用户(订阅“to”)。

B用户可以知道A用户的当前状态,但A用户无法知道B用户的当前状态。

如何知道A用户B用户的状态?

【问题讨论】:

【参考方案1】:

当您获得名册列表时,该列表将附带其订阅。

<iq xmlns="jabber:client" type="result" id="5234:sendIQ" to="pqr@xyz.com">
<query xmlns="jabber:iq:roster">
    <item jid="abc@xyx.com" name="abc" subscription="from">
    <item jid="efg@xyx.com" name="abc" subscription="to">
    <item jid="def@xyx.com" name="abc" subscription="both">
</query>

因此,通过编程,您可以区分并获得您想要的订阅。

【讨论】:

我想知道 Presence.Show(dnd, chat, away, xa) 类型。

以上是关于如何获得 openfire 订阅“to”名册状态?的主要内容,如果未能解决你的问题,请参考以下文章

在 Xmpp/Openfire 中从名册中删除一个朋友

openfire自动订阅接受

XMPP:如何查询特定名册的存在

XMPP名册存在

如何使用 simple-xmpp/node-xmpp 获得 Jabber 用户的名册?

除了数据库,openfire 在哪里存储名册值?