3

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

我尝试了下面的代码,但没有调用 XMPPRoomDelegate 的任何委托方法。我怎样才能开始创建聊天室。何时以及如何调用 roomdelegate 方法....任何回复谢谢提前。

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()];
4

1 回答 1

1

两个问题:

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

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

于 2013-03-14T14:49:45.587 回答