xmpp ios:如何从 openfire 服务器检索所有注册用户

Posted

技术标签:

【中文标题】xmpp ios:如何从 openfire 服务器检索所有注册用户【英文标题】:xmpp ios: How to retrieve all registered users from openfire Server 【发布时间】:2017-11-02 10:01:39 【问题描述】:

在我的 ios 聊天应用程序中,我使用的是 Openfire Server。我正在检索特定用户好友列表,但现在我想从 Openfire Server 检索所有注册用户。请帮帮我。

func  getRosterDetails()
    do 
        var query = try? XMLElement(xmlString: "<query xmlns: jabber:iq:roster/>")

        var iq = XMPPIQ(type: "get", to: XMPPJID.init(string: "domainname"), elementID: appDelegate.xmppStream?.generateUUID(), child: query)
        appDelegate.xmppStream?.send(iq)
     catch let err  
    

func xmppStream(_ sender: XMPPStream!, didReceive iq: XMPPIQ!) -> Bool 

//this delegates returns zero users ,but in my server i have users

【问题讨论】:

【参考方案1】:

在 XMPP 协议中没有这样的规范来检索所有注册用户。然而,使用某些插件但通过 HTTP 也可以实现同样的效果。

在 HTTP 的上下文中已经回答了同样的问题: https://***.com/a/46871082/6041485

您可以为此使用Openfire Rest-API Plugin,并通过点击以下网址获取所有注册用户:

获取http://example.org:9090/plugins/restapi/v1/users

【讨论】:

以上是关于xmpp ios:如何从 openfire 服务器检索所有注册用户的主要内容,如果未能解决你的问题,请参考以下文章

如何同步xmpp服务器openfire用户和iOS APP用户

如何使用 xmpp 框架和 openfire 服务器将电话簿联系人添加到 ios 中的聊天应用程序?

使用 Openfire 中的用户服务通过 iOS 的 xmpp 框架注册新用户

XMPP iOS:无法连接 openfire 服务器

iOS xmpp协议实现聊天之openfire的服务端配置

数据包中 getChildElement 中的 Openfire XMPP 组件命名空间