1
我正在使用asmack XMPP與Android,但我遇到了問題。我希望玩家連接到XMPP服務器(只有在用戶名未被佔用的情況下)才能接收所有當前連接的用戶,並從列表中選擇一個用戶進行遊戲。asmack android XMPP - 獲取所有用戶
目前,我登錄到XMPP服務器這樣的:
/* then connect with a newly created username */
try {
if (connection != null && connection.isConnected()) {
connection.login(username, password);
}
} catch (XMPPException e) {
Log.w("[xmpp_login] Cannot connect to XMPP server with username: " + username, "0");
e.printStackTrace();
}
和創造,我用下面的代碼的用戶:
/* required attributes for creation of a new account */
HashMap<String, String> attr = new HashMap<String, String>();
attr.put("username", username);
attr.put("password", password);
manager.createAccount(username, password, attr);
} catch (XMPPException e) {
Log.w("[create_user] Cannot create new user: XMPP Exception.", "0");
Log.w(e.getMessage(), "0");
e.printStackTrace();
} catch (IllegalStateException e) {
Log.w("[create_user] Cannot create new user: not logged in.", "0");
e.printStackTrace();
}
我有兩個問題:
- 如何檢查用戶名是否已被使用?
- 如何將所有當前連接(在線)用戶的列表返回給每個玩家?由於我搜索了一些並沒有發現任何用處,我想我必須在服務器端提供該功能。這是我使用openfire XMPP服務器的地方。有沒有一個插件可以用來做到這一點 - 然後我可以從客戶端調用一些函數,這將調用該特定的插件,然後將響應所有的在線玩家。
我想任何提示是讚賞。謝謝
我怎麼能這樣做呢? – Ajay 2014-09-03 09:31:01