我正在尝试使用 QXmpp 将 MUC 功能添加到我的应用程序中,我在 QXmppMucManager.h 头文件中关注此信息
/// \brief The QXmppMucManager class makes it possible to interact with
/// multi-user chat rooms as defined by XEP-0045: Multi-User Chat.
///
/// To make use of this manager, you need to instantiate it and load it into
/// the QXmppClient instance as follows:
///
/// \code
/// QXmppMucManager *manager = new QXmppMucManager;
/// client->addExtension(manager);
/// \endcode
///
/// You can then join a room as follows:
///
/// \code
/// QXmppMucRoom *room = manager->addRoom("room@conference.example.com");
/// room->setNickName("mynick");
/// room->join();
/// \endcode
///
/// \ingroup Managers
在我的一个类的构造函数中,我添加了这样的 MuCManager
QXmppMucManager *manager = new QXmppMucManager;
m_xmppClient.addExtension(manager);
在创建 Muc 组的插槽中,我正在这样做
QXmppMucRoom *room = manager->addRoom("livefit@mthinkpad");
room->setNickName("mThinkpad");
room->join();
我希望这会创建一个房间并在它不存在时加入,如果它已经存在则加入但它只是让我的应用程序崩溃。我无法思考 qxmpp 如何实现 xep--0045。我将不胜感激如果有人帮助指出我做错了什么或者我如何从我的客户端在我的服务器上创建一个 Muc 房间。我的服务器是本地 ejabberd 安装,我可以在“mthinkpad”域中访问它。