如何在iPhone中使用XMPPFramework创建MultiUserChatRoom

时间:2013-03-14 05:01:46

标签: iphone xmppframework

我正在iPhone中使用XMPPFramwwork开发聊天应用程序。我成功完成了一对一聊天,现在我想在我的应用程序中开发多用户聊天。

我尝试了以下代码但是没有调用XMPPRoomDelegate的任何委托方法。我可以开始创建聊天室。何时以及如何调用roomdelegate方法....任何回复感谢inadvance。

XMPPStream *xmppStream = [[XMPPStream alloc] init];

XMPPRoomCoreDataStorage *xmppRoomStorage  = [XMPPRoomCoreDataStorage sharedInstance];

XMPPJID *roomJID = [XMPPJID jidWithString:@"vvreddy50@gmail.com"];

xmppRoom = [[XMPPRoom alloc] initWithRoomStorage:xmppRoomStorage jid:roomJID dispatchQueue:dispatch_get_main_queue()];

[xmppRoom   activate:xmppStream];
[xmppRoom   fetchConfigurationForm];
[xmppRoom   configureRoomUsingOptions:nil];
[xmppStream addDelegate:self delegateQueue:dispatch_get_main_queue()];
[xmppRoom   addDelegate:self delegateQueue:dispatch_get_main_queue()];

1 个答案:

答案 0 :(得分:1)

两个问题:

  1. XMPPFramework主要是异步的。这意味着您需要在使用-fetchConfigurationForm方法进行身份验证后致电-xmppStreamDidAuthenticate: 如果需要按顺序进行这两个调用,请在-configureRoomUsingOptions中调用-xmppRoom:didFetchConfigurationForm:

  2. 除非您在流上调用-connect:,否则什么都不会发生。确保实现-xmppStreamDidConnect:并在该方法中使用服务器启动身份验证。