1

如何使用 XMPPFramework 在 iPhone 中实现 GroupChat。我尝试了闲置代码但没有创建房间。我怎么知道是否创建了房间。没有调用 XMPPRoomDelegate。当 Stream 断开连接时,调用了 handleDidLeaveRoom 方法。任何人都可以帮助我。提前致谢

#define XMPP_HOSTNAME_2  @"chat.someservername.com"
#define XMPP_JID         @"venkat@chat.someservername.com"
#define XMPP_PASSWORD    @"venkat"
#define ROOM_JID         @"venkat_muc@conference.chat.someservername.com/iMac"


- (void)mucSetupStream
{
    xmppStream = [[XMPPStream alloc] init];

    xmppStream.hostName = XMPP_HOSTNAME_2;
    xmppStream.myJID = [XMPPJID jidWithString:XMPP_JID];

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

    // Configure xmppRoom

    XMPPJID *roomJID = [XMPPJID jidWithString:ROOM_JID];
    xmppRoomStorage=[XMPPRoomCoreDataStorage sharedInstance];
    xmppRoom = [[XMPPRoom alloc] initWithRoomStorage:self jid:roomJID dispatchQueue:dispatch_get_current_queue()];

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

    // Start connection process

    NSError *err = nil;
    if (![xmppStream connect:&err])
    {
        DDLogError(@"YapTesting: Cannot connect: %@", err);
    }

    [self performSelector:@selector(ConfigureNewRoom) withObject:nil afterDelay:5];                   
}

- (void)ConfigureNewRoom
{
    NSLog(@"The Room is Configure After 5 Secs");
    [xmppRoom fetchConfigurationForm];
    [xmppRoom configureRoomUsingOptions:nil];
}
4

1 回答 1

1
 [self ConfigureNewRoom];

 XMPPRoomMemoryStorage *roomMemoryStorage = [[XMPPRoomMemoryStorage alloc] init];

XMPPRoom *xmppRoom1 = [[XMPPRoom alloc] initWithRoomStorage:roomMemoryStorage jid:[XMPPJID jidWithString:@"Fun@conference.server.com"] dispatchQueue:dispatch_get_main_queue()];

[xmppRoom1 activate:[self xmppStream]];

[xmppRoom1 joinRoomUsingNickname:@"Fun" history:nil];
[xmppRoom1 addDelegate:self delegateQueue:dispatch_get_main_queue()];
[xmppRoom1 fetchConfigurationForm];
[xmppRoom1 configureRoomUsingOptions:nil];
于 2013-11-22T05:40:04.667 回答