我正在用Xmmp开火创造空间,第一次工作正常 如果组管理员离线,那么所有成员都离开了房间 来网上不加入房间。如何重新加入房间? !
答案 0 :(得分:2)
这就是XMPP多用户聊天的工作原理。多用户聊天规范基于在线状态。当您离线时,您不是房间的占用者。
答案 1 :(得分: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房间与所有成员一起存在