您的位置:首页 > 移动开发 > IOS开发

XMPPFrameWork IOS 开发(六)聊天室

2016-06-08 12:01 531 查看
聊天室

[cpp] view
plain copy

 print?

//初始化聊天室  

XMPPJID *roomJID = [XMPPJID jidWithString:ROOM_JID];    

    

xmppRoom = [[XMPPRoom alloc] initWithRoomStorage:self jid:roomJID];    

    

[xmppRoom activate:xmppStream];    

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

[cpp] view
plain copy

 print?

//创建聊天室成功  

- (void)xmppRoomDidCreate:(XMPPRoom *)sender  

{  

    DDLogInfo(@"%@: %@", THIS_FILE, THIS_METHOD);  

}  

[cpp] view
plain copy

 print?

//加入聊天室,使用昵称  

[xmppRoom joinRoomUsingNickname:@"quack" history:nil];   

[cpp] view
plain copy

 print?

//获取聊天室信息  

- (void)xmppRoomDidJoin:(XMPPRoom *)sender  

{  

    [xmppRoom fetchConfigurationForm];  

    [xmppRoom fetchBanList];  

    [xmppRoom fetchMembersList];  

    [xmppRoom fetchModeratorsList];  

}  

如果房间存在,会调用委托

[cpp] view
plain copy

 print?

// 收到禁止名单列表    

- (void)xmppRoom:(XMPPRoom *)sender didFetchBanList:(NSArray *)items;    

// 收到好友名单列表    

- (void)xmppRoom:(XMPPRoom *)sender didFetchMembersList:(NSArray *)items;    

// 收到主持人名单列表    

- (void)xmppRoom:(XMPPRoom *)sender didFetchModeratorsList:(NSArray *)items;   

房间不存在,调用委托

[cpp] view
plain copy

 print?

- (void)xmppRoom:(XMPPRoom *)sender didNotFetchBanList:(XMPPIQ *)iqError;    

- (void)xmppRoom:(XMPPRoom *)sender didNotFetchMembersList:(XMPPIQ *)iqError;    

- (void)xmppRoom:(XMPPRoom *)sender didNotFetchModeratorsList:(XMPPIQ *)iqError;  

离开房间

[cpp] view
plain copy

 print?

[xmppRoom deactivate:xmppStream];    

[cpp] view
plain copy

 print?

//离开聊天室  

- (void)xmppRoomDidLeave:(XMPPRoom *)sender  

{  

    DDLogVerbose(@"%@: %@", THIS_FILE, THIS_METHOD);  

}  

其他代理

[cpp] view
plain copy

 print?

//新人加入群聊  

- (void)xmppRoom:(XMPPRoom *)sender occupantDidJoin:(XMPPJID *)occupantJID  

{  

    DDLogVerbose(@"%@: %@", THIS_FILE, THIS_METHOD);  

}  

//有人退出群聊  

- (void)xmppRoom:(XMPPRoom *)sender occupantDidLeave:(XMPPJID *)occupantJID  

{  

    DDLogVerbose(@"%@: %@", THIS_FILE, THIS_METHOD);  

}  

//有人在群里发言  

- (void)xmppRoom:(XMPPRoom *)sender didReceiveMessage:(XMPPMessage *)message fromOccupant:(XMPPJID *)occupantJID  

{  

    DDLogVerbose(@"%@: %@", THIS_FILE, THIS_METHOD);
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  聊天 XMPP 聊天室