XMPP学习记录六:聊天室

原创 2013年12月05日 14:06:45

聊天室

  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. }  

相关文章推荐

XMPP - Socket 实现创建聊天室

初始化@interface ViewController : UIViewController @end创建输入输出流@interface ViewController (){ NSInput...

xmppframework 群聊功能简单实现

1、下载xmppframework(googol一下就出来了) 2、导入的工程
  • zps007
  • zps007
  • 2014年05月12日 14:32
  • 6224

XMPPFrameWork IOS 开发(六)聊天室

xmpp 聊天室的实现简介

基于xmpp聊天室实现,国外牛人作品

XMPP的官网:http://xmpp.org/ 测试帐号注册:https://register.jabber.org PC端下载地址注册之后就会看到下载地址 这边给一个win7 64位(本人电...

Android基于XMPP Smack openfire 开发的聊天室(三) 【新旧记录、踢人】

1,聊天室新旧消息的记录,先看看一段服务器返回的XML吧 [html] view plaincopyprint? message      from='darkcave@cha...

Android基于XMPP Smack openfire 开发的聊天室(三) 【新旧记录、踢人】

1,聊天室新旧消息的记录,先看看一段服务器返回的XML吧 Thrice the brinded cat hath mew'd. ...

xmpp聊天室

  • 2015年06月03日 16:50
  • 11.46MB
  • 下载

Android基于XMPP Smack openfire 开发的聊天室(五) 【邀请、被邀请】

1,邀请: 很简单的一句话,邀请的时候要传入被邀请者的JID,邀请信息可以为空。   muc.invite(userjid, "进来我们聊妹子");   简单的同时我们要知道它发生了什么...

Android基于XMPP Smack openfire 开发的聊天室

Android基于XMPP Smack openfire 开发的聊天室 分类: android2013-03-07 17:36 5237人阅读 评论(0) 收藏 举报 聊天smac...

Xmpp smack 聊天室岗位以及角色的管理

smack documentation:https://www.igniterealtime.org/builds/smack/docs/latest/documentation/
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:XMPP学习记录六:聊天室
举报原因:
原因补充:

(最多只允许输入30个字)