4

我正在尝试使用 robbiehanson XMPPframework 创建聊天室。

由于我没有得到任何示例代码或文档,我自己尝试发起一个聊天室,如下所示:

    XMPPRoomMemoryStorage *rosterstorage = [[XMPPRoomMemoryStorage alloc] init];
    XMPPRoom *xmppRoom = [[XMPPRoom alloc] initWithRoomStorage:rosterstorage jid:[XMPPJID jidWithString:@"test@mycompany.com/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="test@mycompany.com" to="user1@mycompany.com/42512304551337785705750233" type="error"><x xmlns="http://jabber.org/protocol/muc#user"><invite to="user2@mycompany.com"><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 吗?有没有示例代码?任何帮助将不胜感激..在此先感谢..

4

3 回答 3

7

最后我想通了。它可能会帮助某人。创建或加入会议室时,格式应为yourRoomName@conference.YourDomainName.com“会议”是这里的关键词。

于 2013-11-21T08:22:32.653 回答
2

每个房间都被标识为“房间 JID”(例如 ),其中“房间”是 MUC 房间的名称,“服务”是运行多用户聊天服务的主机名。参考 XEP-0045

为了使用 XMPP 客户端开始群聊,必须使用关键字“会议”。

于 2014-09-25T08:02:27.717 回答
-1

据我所知,使用 facebook XMPP 服务器无法实现 MUC,因为它是一个精简的服务器。他们没有明确说出来,但我在 pidgin wiki(它是德语)中找到了一些提示:http ://wiki.pidgin-im.de/index.php/Facebook 。我也一直在为这个话题而苦苦挣扎......

于 2012-06-05T09:57:32.703 回答