IOS Xmpp 创建固定房间

XMPPRoom *room;

 // 初始化房间
 XMPPRoomCoreDataStorage *rosterstorage = [[XMPPRoomCoreDataStorage alloc] init];
    if (rosterstorage==nil) {
        NSLog(@"nil");
        rosterstorage = [[XMPPRoomCoreDataStorage alloc] init];
    }
    roomJID = [XMPPJID jidWithString:roomName];
    room = [[XMPPRoom alloc] initWithRoomStorage:rosterstorage jid:roomJID
                                             dispatchQueue:dispatch_get_main_queue()];
    
    [room activate:[[XMPPManager sharedManager] xmppStream]];
   
    // 在聊天是显示的昵称
    [room joinRoomUsingNickname:jid history:nil];
    
    [room fetchConfigurationForm];

    [room addDelegate:self delegateQueue:dispatch_get_main_queue()];

#pragma mark 配置房间为永久房间
-(void)sendDefaultRoomConfig
{
    
    NSXMLElement *x = [NSXMLElement elementWithName:@"x" xmlns:@"jabber:x:data"];
    
    NSXMLElement *field = [NSXMLElement elementWithName:@"field"];
    NSXMLElement *value = [NSXMLElement elementWithName:@"value"];
    
    NSXMLElement *fieldowners = [NSXMLElement elementWithName:@"field"];
    NSXMLElement *valueowners = [NSXMLElement elementWithName:@"value"];
    
    
    [field addAttributeWithName:@"var" stringValue:@"muc#roomconfig_persistentroom"];  // 永久属性
    [fieldowners addAttributeWithName:@"var" stringValue:@"muc#roomconfig_roomowners"];  // 谁创建的房间

[field addAttributeWithName:@"type" stringValue:@"boolean"]; [fieldowners addAttributeWithName:@"type" stringValue:@"jid-multi"]; [value setStringValue:@"1"]; [valueowners setStringValue:myJid]; //创建者的Jid [x addChild:field]; [x addChild:fieldowners]; [field addChild:value]; [fieldowners addChild:valueowners]; [room configureRoomUsingOptions:x]; } // 房间创建成功后在配置永久属性 #pragma mark - 创建讨论组成功回调 - (void)xmppRoomDidCreate:(XMPPRoom *)sender { [self sendDefaultRoomConfig]; }

 

转载于:https://www.cnblogs.com/joesen/p/3539527.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值