【问题标题】:XMPP muc room left once user offline iOS一旦用户离线 iOS,XMPP muc 空间就离开了
【发布时间】:2016-09-13 05:53:28
【问题描述】:

我正在用 Xmmp 开火创建房间,第一次工作正常 如果组管理员下线,那么所有成员都离开了房间,当 来网上不加入房间。如何重新加入房间? !

【问题讨论】:

    标签: ios objective-c iphone xmpp openfire


    【解决方案1】:

    这就是 XMPP 多用户聊天的工作原理。多用户聊天规范是基于存在的。当您离线时,您不是房间的主人。

    【讨论】:

    【解决方案2】:

    创建房间后,使用以下代码设置您的 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 Room 与所有成员都存在

    【讨论】:

    • 我做了和你提到的一样的事情,但我仍然没有收到群组。我正在向朋友发送邀请。朋友接受或不接受群组邀请,这不会返回任何群组列表。你对此有什么想法吗?我正在使用 ejabberd。
    猜你喜欢
    • 2012-04-21
    • 2017-07-13
    • 2013-01-05
    • 2012-12-22
    • 2021-07-06
    • 1970-01-01
    • 2015-04-03
    • 1970-01-01
    • 2013-01-18
    相关资源
    最近更新 更多