Java Can';无法执行操作,因为localhost不提供MUC(XEP-45)服务
我正在尝试使用带Smack插件的多用户聊天呼叫,但收到以下错误Java Can';无法执行操作,因为localhost不提供MUC(XEP-45)服务,java,xmpp,ejabberd,smack,Java,Xmpp,Ejabberd,Smack,我正在尝试使用带Smack插件的多用户聊天呼叫,但收到以下错误 Can't perform operation because localhost does not provide a MUC (XEP-45) service. 这似乎是因为ejabberd中没有启用mod_muc,但我不知道如何激活它。我以为我在ejabberd.yml里就是这么做的 这是我的ejabberd.yml mod_muc部分: mod_muc: ## host: "conference.@HOST@"
Can't perform operation because localhost does not provide a MUC (XEP-45) service.
这似乎是因为ejabberd中没有启用mod_muc,但我不知道如何激活它。我以为我在ejabberd.yml里就是这么做的
这是我的ejabberd.yml mod_muc部分:
mod_muc:
## host: "conference.@HOST@"
access: muc
access_create: muc
access_admin: muc_admin
history_size: 5
max_users: 4
default room options:
allow_change_subj: true
allow_private_messages: false
allow_user_invites: true
members_by_default: true
public: true
public_list: true
persistent: false
是否有其他人收到未提供的XEP-45错误?如何修复它?您正在尝试将MUC查询发送到
localhost
JID,而您应该发送到MUC服务的JID。取消注释host:“conference.@host@“
并使用conference.localhost
作为所有MUC请求的JID确保在ejabberd
配置中具有mod_MUC
启用标签。我应该设置哪些参数?我不确定在哪里启用它。感谢您的响应。我很感激。我应该在conference.localhost或no周围加引号吗?加引号并将您的请求发送到“conference@HOST@”。表示如果您的主机是example.com,则将其发送到conference.example.com