【问题标题】:XMPPFramework - How to Create a MultiUserChat Rooms?XMPPFramework - 如何创建多用户聊天室?
【发布时间】:2013-03-05 03:13:26
【问题描述】:

如何使用 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];
}

【问题讨论】:

  • 你会发布你的委托方法吗?另外,你会为你的流打开日志并发布输出吗?您是否使用标准的main()UIApplicationMain

标签: ios xmpp xmppframework multiuserchat


【解决方案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];

【讨论】:

  • 如何激活和委派多个聊天室?
猜你喜欢
  • 1970-01-01
  • 2012-02-20
  • 2013-10-03
  • 2014-06-16
  • 1970-01-01
  • 1970-01-01
  • 2014-05-22
  • 2021-11-04
  • 1970-01-01
相关资源
最近更新 更多