我正在尝试使用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 ??有没有任何示例代码?任何帮助将不胜感激..谢谢提前..
答案 0 :(得分:6)
最后我明白了。它可能会帮助某人。在创建或加入会议室时,格式应为 yourRoomName@conference.YourDomainName.com 。 'conference'是此处的关键字。
答案 1 :(得分:2)
每个房间被标识为“房间JID”(例如),其中“房间”是MUC房间的名称,“服务”是运行多用户聊天服务的主机名。 Reference XEP-0045
必须使用关键字“会议”才能使用XMPP客户端启动群聊。
答案 2 :(得分:-1)
据我所知,MUC不可能与facebook XMPP服务器,因为它是一个精简版。他们没有明确说出来,但我在pidgin wiki中找到了一些提示(它是德语):http://wiki.pidgin-im.de/index.php/Facebook。我一直在努力解决这个话题......