我尝试在Ejabbered server
的帮助下,在XMPPFramework
中获取可用聊天组列表。以下是我获取聊天组列表的代码。
- (void) getChatGroupList{
XMPPJID *servrJID = [XMPPJID jidWithString:@"conference.Server"];
XMPPIQ *iq = [XMPPIQ iqWithType:@"get" to:servrJID];
[iq addAttributeWithName:@"from" stringValue:[[self xmppStream] myJID].full];
NSXMLElement *query = [NSXMLElement elementWithName:@"query"];
[query addAttributeWithName:@"xmlns" stringValue:@"http://jabber.org/protocol/disco#items"];
[iq addChild:query];
[[self xmppStream] sendElement:iq];
}
作为回应,我正在跟踪didReceiveIQ
<presence xmlns="jabber:client" from="username@Server/38489493512952747921478847202003609" to="username@ Server/38489493512952747921478847202003609"><priority>24</priority><x xmlns="vcard-temp:x:update"><photo/></x><c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="https://github.com/robbiehanson/XMPPFramework" ver="VyOFcFX6+YNmKssVXSBKGFP0BS4="/></presence>
我在响应中看不到的组的确切名称。任何人都可以帮助这里缺少什么或如何获得每个组内的组名和用户列表?
答案 0 :(得分:0)
你知道发生了什么吗?
从我看到的,您的请求看起来没问题,但响应应该是其他请求。
不确定您使用的是哪个版本的XMPPFramework,最近,XMPPMUC
中有一个XEP-0045
类。您可以致电discoverRoomsForServiceNamed
来执行相同的操作。只需确保在使用时实施XMPPMUCDelegate
。