XMPPFramework - Implement Group Chat (MUC)

前端 未结 3 949
天命终不由人
天命终不由人 2020-11-27 13:23

I am working on the iOS chat client. Can anyone please help me with the Multi-User Chat?

I have implemented Robbiehanson\'s XMPPFramework.

Can anyone please

3条回答
  •  一生所求
    2020-11-27 13:38

    +(void)getGroupRooms{
        NSError *error = nil;
        NSXMLElement *query = [[NSXMLElement alloc] initWithXMLString:@"" error:&error];
        XMPPIQ *iq = [XMPPIQ iqWithType:@"get" to:[XMPPJID jidWithString:Jabber_groupChat_Domain_server] elementID:[[[PXMPPManager sharedInstance] xmppStream] generateUUID] child:query];
        [iq addAttributeWithName:@"from" stringValue:[[[PXMPPManager sharedInstance] xmppStream] myJID].full];
        [[[PXMPPManager sharedInstance] xmppStream] sendElement:iq];
    
    //
    //
    //
    }
    
    #pragma - mark XMPPStreamDelegate Methods
    
    - (BOOL)xmppStream:(XMPPStream *)sender didReceiveIQ:(XMPPIQ *)iq{
    //    NSLog(@"Did receive IQ");
    
        if([iq isResultIQ])
        {
            if([iq elementForName:@"query" xmlns:@"http://jabber.org/protocol/disco#items"])
            {
                NSLog(@"Jabber Server's Capabilities: %@", [iq XMLString]);
    
                NSXMLElement *queryElement = [iq elementForName:@"query" xmlns:@"http://jabber.org/protocol/disco#items"];
                NSArray *items = [queryElement elementsForName:@"item"];
                NSMutableArray *arrGroupName = [[NSMutableArray alloc] init];
                for (NSXMLElement *i in items) {
                    NSString *roomName = [i attributeStringValueForName:@"name"];
                    NSString *jidString = [i attributeStringValueForName:@"jid"];
                    //XMPPJID *jid = [XMPPJID jidWithString:jidString];
    
                    NSDictionary *dict = @{
                                           @"groupName" : roomName,
                                           @"groupJID" : jidString,
                                           };
                    [arrGroupName addObject:dict];
                }
    
                [ConversationsModel saveGroupName:arrGroupName];
            }
        }
    
        return false;
    }
    

提交回复
热议问题