Реализация группового чата iOS XMPP

Я пытаюсь создать чат, используя robbiehanson XMPPframework.

Поскольку у меня не было ни примера кода, ни документации, я попытался самостоятельно создать чат следующим образом:

    XMPPRoomMemoryStorage *rosterstorage = [[XMPPRoomMemoryStorage alloc] init];
    XMPPRoom *xmppRoom = [[XMPPRoom alloc] initWithRoomStorage:rosterstorage jid:[XMPPJID jidWithString:@"[email protected]/room"] dispatchQueue:dispatch_get_main_queue()];    
    [xmppRoom configureRoomUsingOptions:nil];
    [xmppRoom activate:[UIAppDelegate xmppStream]];
    [xmppRoom addDelegate:UIAppDelegate
            delegateQueue:dispatch_get_main_queue()];
   [xmppRoom inviteUser:[XMPPJID jidWithString:jabberID] withMessage:@"Hi join room"];

Но я получаю ответ в консоли как:

 RECV: <message xmlns="jabber:client" from="[email protected]" to="[email protected]/42512304551337785705750233" type="error"><x xmlns="http://jabber.org/protocol/muc#user"><invite to="[email protected]"><reason>Hi join room</reason></invite></x><error code="503" type="cancel"><service-unavailable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></message>

У кого-нибудь есть идея инициировать MUC? Есть ли какой-нибудь пример кода для этого? Любая помощь будет оценена. Заранее спасибо.


person PETER    schedule 23.05.2012    source источник


Ответы (3)


Наконец я понял это. Это может помочь кому-то. При создании комнаты или присоединении к ней следует использовать формат [email protected]. 'конференция' здесь ключевое слово.

person PETER    schedule 21.11.2013

Каждая комната идентифицируется как «JID комнаты» (например, ), где «комната» — это имя комнаты MUC, а «служба» — это имя хоста, на котором работает служба многопользовательского чата. Справочник XEP-0045

Ключевое слово "конференция" является обязательным для использования, чтобы начать групповой чат с использованием клиента XMPP.

person Fatima Arshad    schedule 25.09.2014

Насколько я знаю, MUC невозможен с XMPP-сервером facebook, потому что он урезанный. Они не говорят об этом явно, но я нашел несколько подсказок в вики по пиджину (это немецкий): http://wiki.pidgin-im.de/index.php/Facebook. Я тоже заморачивался с этой темой...

person lars    schedule 05.06.2012