我成功创建了muc服务并创建了一个房间。 创建会议室“ testroom@conference.xmpp.messenger.local”后,我与客户“ client@xmpp.messenger.local”一起进入会议室。 (我的客户也是muc会议室的所有者) 在这种情况下,它可以工作,我可以将任何消息发送到muc室。
如果我重新加载页面并重新连接到ejabberd服务器,就会出现我的问题。 重新连接后,我阅读了客户端的所有房间,并尝试通过以下状态节加入该房间(在XEP-0045 // 16.7.1中进行了描述):
<presence to='testroom@conference.xmpp.messenger.local'>
<x xmlns='http://jabber.org/protocol/muc'/>
</presence>
现在我得到错误代码409,其中包含以下错误消息: “那个昵称是另一个人注册的”
我无法理解为什么我说别人注册了这个昵称->是同一个人
顺便说一句,我也尝试重新输入:
<presence
from='client@xmpp.messenger.local'
id='n13mt3l'
to='testroom@conference.xmpp.messenger.local'>
<x xmlns='http://jabber.org/protocol/muc'/>
</presence>
至少我尝试使用不同的昵称进入房间,但这会导致立即断开连接而没有任何错误消息。
我希望其他任何人都可以找出问题所在,并可以帮助我找到解决方案。
答案 0 :(得分:0)
我解决了我的问题。 在将任何客户端连接到ejabberd服务器时,我必须选择一种资源。
我认为这不是必需的,但现在可以了。