我有一个iphone应用程序,我想用它来使用聊天室。我已经安装了一个XMPP服务器(ejabberd),并从google code (http://code.google.com/p/xmppframework/)下载了用于iOS的XMPP框架。服务器和客户端工作正常,因为我能够登录并在两个用户之间发送聊天消息。
但是,当我尝试使用XMPPRoom类的createOrJoinRoom方法(在XEP-0045中)创建聊天室时,我没有从服务器得到任何响应,并且没有创建聊天室。
我已经调试过了,看看发送给服务器的是什么类型的包,结果如下所示:
<presence from="test2@beta.bogus.net/mynick" to="muumit15@conference.beta.bogus.net">
<x xmlns="http://jabber.org/protocol/muc"/>
</presence>我没有收到错误消息,但是聊天室(muumit15)没有创建。同时,我可以使用Adium客户端创建一个聊天室,它成功了。服务器已配置为每个用户都有权创建聊天室。
有什么想法吗?我甚至尝试嗅探Adium客户端发送的TCP/IP通信,但它是加密/压缩/二进制的,所以我看不到它发送的是哪种类型的包。
发布于 2011-06-22 14:23:33
参见7.2.2 of XEP-0045小节,特别是示例18:
<presence
from='hag66@shakespeare.lit/pda'
to='coven@chat.shakespeare.lit/thirdwitch'>
<x xmlns='http://jabber.org/protocol/muc'/>
</presence>请注意,to地址必须包含资源,而您的地址没有。资源是/后面的字符串,在房间中用作您的昵称。有关XMPP地址格式的详细信息,请参阅RFC 6122。
https://stackoverflow.com/questions/6421335
复制相似问题