Java Can';无法执行操作,因为localhost不提供MUC(XEP-45)服务

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@"

我正在尝试使用带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@"
    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