#java #xmpp #openfire #smack
#java #xmpp #openfire #удар
Вопрос:
Могу ли я узнать, как составить список всех доступных комнат чата (уже созданных) для конкретного XMPP-соединения и пользователя, используя Smack-Java. То есть я хочу решение, как показано ниже :
room1@conference.localhost.com room2@conference.localhost.com . . . Спасибо.
Ответ №1:
Без плагинов вам в основном нужно повторно просмотреть все службы, доступные на вашем сервере, а затем jid (будьте осторожны: если групповой чат является частным, вы не сможете повторно просмотреть список)
String groupchatHosted = "";
for (String service : MultiUserChatManager.getInstanceFor( connection ).getServiceNames();)
{
List<HostedRoom> hosted = MultiUserChatManager.getInstanceFor( connection ).getHostedRooms( service ));
for (HostedRoom room : hosted)
{
groupchatHosted = room.getJid() " ";
}
}
Вы получите свою строку со всеми сервисами (или просто используйте список строк или другую коллекцию)