[置顶] XMPPFrameWork IOS 开发(六)聊天室

原始地址:XMPPFrameWork IOS 开发(六)聊天室


聊天室

  1. //初始化聊天室  
  2. XMPPJID *roomJID = [XMPPJID jidWithString:ROOM_JID];    
  3.     
  4. xmppRoom = [[XMPPRoom alloc] initWithRoomStorage:self jid:roomJID];    
  5.     
  6. [xmppRoom activate:xmppStream];    
  7. [xmppRoom addDelegate:self delegateQueue:dispatch_get_main_queue()];  

  1. //创建聊天室成功  
  2. - (void)xmppRoomDidCreate:(XMPPRoom *)sender  
  3. {  
  4.     DDLogInfo(@"%@: %@", THIS_FILE, THIS_METHOD);  
  5. }  



  1. //加入聊天室,使用昵称  
  2. [xmppRoom joinRoomUsingNickname:@"quack" history:nil];   

  1. //获取聊天室信息  
  2. - (void)xmppRoomDidJoin:(XMPPRoom *)sender  
  3. {  
  4.     [xmppRoom fetchConfigurationForm];  
  5.     [xmppRoom fetchBanList];  
  6.     [xmppRoom fetchMembersList];  
  7.     [xmppRoom fetchModeratorsList];  
  8. }  


如果房间存在,会调用委托
  1. // 收到禁止名单列表    
  2. - (void)xmppRoom:(XMPPRoom *)sender didFetchBanList:(NSArray *)items;    
  3. // 收到好友名单列表    
  4. - (void)xmppRoom:(XMPPRoom *)sender didFetchMembersList:(NSArray *)items;    
  5. // 收到主持人名单列表    
  6. - (void)xmppRoom:(XMPPRoom *)sender didFetchModeratorsList:(NSArray *)items;   


房间不存在,调用委托

  1. - (void)xmppRoom:(XMPPRoom *)sender didNotFetchBanList:(XMPPIQ *)iqError;    
  2. - (void)xmppRoom:(XMPPRoom *)sender didNotFetchMembersList:(XMPPIQ *)iqError;    
  3. - (void)xmppRoom:(XMPPRoom *)sender didNotFetchModeratorsList:(XMPPIQ *)iqError;  

离开房间

  1. [xmppRoom deactivate:xmppStream];    

  1. //离开聊天室  
  2. - (void)xmppRoomDidLeave:(XMPPRoom *)sender  
  3. {  
  4.     DDLogVerbose(@"%@: %@", THIS_FILE, THIS_METHOD);  
  5. }  


其他代理

  1. //新人加入群聊  
  2. - (void)xmppRoom:(XMPPRoom *)sender occupantDidJoin:(XMPPJID *)occupantJID  
  3. {  
  4.     DDLogVerbose(@"%@: %@", THIS_FILE, THIS_METHOD);  
  5. }  
  6. //有人退出群聊  
  7. - (void)xmppRoom:(XMPPRoom *)sender occupantDidLeave:(XMPPJID *)occupantJID  
  8. {  
  9.     DDLogVerbose(@"%@: %@", THIS_FILE, THIS_METHOD);  
  10. }  
  11. //有人在群里发言  
  12. - (void)xmppRoom:(XMPPRoom *)sender didReceiveMessage:(XMPPMessage *)message fromOccupant:(XMPPJID *)occupantJID  
  13. {  
  14.     DDLogVerbose(@"%@: %@", THIS_FILE, THIS_METHOD);  
  15. }  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值