我正在使用 Smack 库开发一个 IM 应用程序,但遇到了一些问题。
我想知道是否可以通过服务器中的用户名来检查用户是否存在。我的应用程序必须检查系统联系人列表中的人是否在我的服务器中开设了帐户并且他们不在他们的 friend 列表中。
到目前为止,我设法将系统联系人列表中的每个联系人添加到我用户的服务器联系人列表中 - 即使他们事先没有帐户 - 但这不是我要找的。p >
这是代码(Contact 就像是 Smack 的 RosterEntry 的包装类):
public void addAllContactsIfExisting(Contact[] contactsAgenda) {
for (Contact contact: contactsAgenda) {
if (!isContactMyFriend(contact)) {
try {
// I'd like to check for account existence here, being contact.getJid() the username as it'd be in the server
conn.getRoster().createEntry(contact.getJid(), contact.getName(), null);
} catch (XMPPException e) {
e.printStackTrace();
}
}
}
}
如果有帮助,我目前正在使用 Openfire 作为服务器。
最佳答案
您可以使用 UserSearch搜索特定用户的类,如果在服务器上未找到用户,则可以假定该用户未在服务器上注册。
关于java - 我如何从客户端知道 XMPP 服务器中是否存在帐户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5713594/