2016-05-17 54 views

回答

2

这就是XMPP多用户聊天的工作原理。多用户聊天规范是基于状态的。当你离线时,你不是房间的占有者。

0

创建房间后设置您的XMPP间持续使用下面的代码...

-(void)xmppRoomDidJoin:(XMPPRoom *)sender { 
    NSLog("I did join."); 
    [sender fetchConfigurationForm]; 
} 

-(void)xmppRoom:(XMPPRoom *)sender didFetchConfigurationForm:(NSXMLElement *)configForm { 

    NSXMLElement *newConfig = [configForm copy]; 

    NSArray *fields = [newConfig elementsForName:@"field"]; 

    for (NSXMLElement *field in fields) { 

     NSString *var = [field attributeStringValueForName:@"var"]; 
     // Make Room Persistent 

     if ([var isEqualToString:@"muc#roomconfig_persistentroom"]) { 

     [field removeChildAtIndex:0]; 
     [field addChild:[NSXMLElement elementWithName:@"value" stringValue:@"1"]]; 

     } 
    } 

    [sender configureRoomUsingOptions:newConfig]; 

} 

到时候如果房间的主人下线是时间XMPP客房与所有成员存在