我正在使用smack库和openfire 服务器 XMPP 协议创建聊天应用程序。首先,我通过 UserSearchManager 搜索了一个用户名,然后我得到了 jid。所以它运作良好。
但是现在我有很多用户名,我想通过 Usersearchmanager 一起搜索所有用户名。我可以通过一个一个调用来做到这一点,以便它一次又一次地访问服务器。所以请建议我如何在一次搜索命中时一起搜索用户名。
这是我的代码,它使用搜索单个用户名。
UserSearchManager search = new UserSearchManager(connection);
Form searchForm = search.getSearchForm("search." + connection.getServiceName());
Form answerForm = searchForm.createAnswerForm();
answerForm.setAnswer("search", "rahul rawat");
answerForm.setAnswer("Username", true);
ReportedData data = search.getSearchResults(answerForm, "search." + connection.getServiceName());
System.out.println("\nThe jids from our each of our hits:");
Iterator<Row> rows = data.getRows();
while (rows.hasNext())
{
Row row = rows.next();
Iterator<String> jids = row.getValues("jid");
while (jids.hasNext()) {
System.out.println(jids.next());
}
}