我想创建像WhatsApp这样的群聊。我正在使用ejabberd服务器的MUC服务。我已经成功创建了组,但我无法在组中永久添加成员。我也尝试过使用发送邀请和加入组,但是当用户离线时它不起作用。它在脱机时自动从组中删除用户。
所以我尝试了belove代码在组中添加成员,但它给出了错误:
找不到指定变量的字段。
这是我的代码:
EntityBareJid mucJid = JidCreate.entityBareFrom("[email protected]");
MultiUserChatManager manager = MultiUserChatManager.getInstanceFor(conn);
MultiUserChat muc = manager.getMultiUserChat(mucJid);
Resourcepart nickname = Resourcepart.from("admin");
List<String> owners = new ArrayList<>();
owners.add("user1@servicename");
owners.add("user2@servicename");
muc.create(nickname);
Form form = muc.getConfigurationForm().createAnswerForm();
form.setAnswer("muc#roomconfig_roomowners", owners);
muc.sendConfigurationForm(form);
谁能帮我 ?
嘿@D G无法在一个组中永久添加成员,XMPP在连接丢失时踢房间用户。
这是我用来解决这个问题的方法
当您创建一个组时,使用API在您的服务器上的任何位置保存您的组详细信息和组成员或从XMPP获取房间信息,但我建议使用API保存组详细信息,因为XMPP无法获取我们需要的整个房间详细信息。
然后在应用程序打开时创建连接,然后向所有组成员发送组邀请,因此如果任何组成员在线或已连接,他将加入该组(确保此过程在后台)。
有关更多信息,请查看qazxsw poi