XMPP Farmework 如何在iOS中获取XMPP聊天室列表?

Posted

技术标签:

【中文标题】XMPP Farmework 如何在iOS中获取XMPP聊天室列表?【英文标题】:XMPPFarmework How to obtain XMPP chat room list in iOS? 【发布时间】:2015-03-18 14:17:08 【问题描述】:

XMPPFarmework 我们开火

如何在ios中获取XMPP聊天室列表? 任何人都请告诉我一个解决这个问题的方法。谢谢!

【问题讨论】:

你好@Locoo,你找到解决办法了吗? 【参考方案1】:

当连接到Amazon EC2 上的ejabberd 服务器时,以下代码适用于我们,希望它也适用于Openfire

- (void) getChatRooms:(XMPPStream *)stream

    NSString* server = @"conference.myserver.com";
    XMPPJID *servrJID = [XMPPJID jidWithString:server];
    XMPPIQ *iq = [XMPPIQ iqWithType:@"get" to:servrJID];

    [iq addAttributeWithName:@"id" stringValue:@"chatroom_list"];
    [iq addAttributeWithName:@"from" stringValue:[stream myJID].full];
    NSXMLElement *query = [NSXMLElement elementWithName:@"query"];
    [query addAttributeWithName:@"xmlns" stringValue:@"http://jabber.org/protocol/disco#items"];
    [iq addChild:query];
    [firstStream sendElement:iq];


- (BOOL)xmppStream:(XMPPStream *)sender didReceiveIQ:(XMPPIQ *)iq

    DDLogVerbose(@"%@", [iq description]);    

【讨论】:

嘿,我收到多个查询响应,如何区分它们?

以上是关于XMPP Farmework 如何在iOS中获取XMPP聊天室列表?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 XMPP IOS 框架的 JID

如何获取带有时间戳 XMPP iOS 的消息?

如何在 IOS 的 XMPP 群聊中接收通知

如何在 xmpp 中获取用户的存在

如何使用 xmpp jidstr iOS sdk 获取资源

iOS XMPP如何在tableview的单个部分中显示所有用户