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

Posted

技术标签:

【中文标题】XMPP:如何查询特定名册的存在【英文标题】:XMPP: How to query specific rosters presence 【发布时间】:2019-06-22 06:45:30 【问题描述】:

获取特定(单个或多个)名册存在而不是全部的 XAMP 节是什么?

我正在使用 Strophe.js 进行 XAMPP(openfire) 通信。由于 Openfire 没有在服务器端提供对消息状态(已读、已接收和已读)的支持,因此我实现了一些额外的逻辑以使其正常工作。

我正在通过 ajax 调用检索我的名册,方法是查询 Openfire db one 并返回名册,这里还有名册搜索功能。问题是当我通过 API 搜索和获取名册时,我无法获得名册。我只想通过 Strophe.js(XAMP stanza) 显示搜索结果名册而不是所有用户。

【问题讨论】:

【参考方案1】:

我找到了一个部分解决方案,它仅在名册在线时有效。我们可以将默认用户状态设为离线,我们可以更新在线状态响应。

<presence to="JID" type="probe" xmlns="jabber:client"/>

【讨论】:

以上是关于XMPP:如何查询特定名册的存在的主要内容,如果未能解决你的问题,请参考以下文章

XMPP 获取所有名册的存在和状态消息

如何使用 SMACK 在 Android XMPP 客户端中解析自定义花名册查询响应

XMPP名册存在

XMPP XEP-0313 Smack Android 获取所有名册成员的最新消息

XMPP - 名册订阅说明

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