-2
我想創建示例Java應用程序來實現XMPP的MultiUserChat。一些如何能夠在openfire中創建用戶並使其在線。任何人都可以建議如何將所有用戶加入創建的聊天室嗎?XMPP羣聊Java - 邏輯加入用戶在房間內邀請監聽器不工作
這是我在SampleMultiUserChat類中的示例代碼我邀請所有用戶加入該組,但它沒有加入。我錯過了什麼?
SampleMultiUserChat(){
oConnectionConfiguration = new ConnectionConfiguration("10.10.1.105",5223);
createChatRoom();
}
/**
* @param args
*/
public static void main(String[] args) {
SampleMultiUserChat oSampleMultiUserChat = new SampleMultiUserChat();
for(int i = 2; i < 4; i++){
oSampleMultiUserChat.openXMPPConnection("user"+i);
oSampleMultiUserChat.createAcceptInvitationListener("user"+i);
oSampleMultiUserChat.inviteToJoinRoom("user"+i);
}
Thread mainThread = Thread.currentThread();
while(true){
try {
mainThread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
private void openXMPPConnection(String user){
XMPPConnection oXmppConnection = new XMPPConnection(oConnectionConfiguration);
try {
oXmppConnection.connect();
oXmppConnection.login(user, "60474c9c10d7142b7508ce7a50acf414");
userConnection.put(user, oXmppConnection);
} catch (XMPPException e) {
System.out.println("Exception occured in login in user : "+user);
}
}
private void createChatRoom(){
XMPPConnection oXmppConnection = new XMPPConnection(oConnectionConfiguration);
try {
oXmppConnection.connect();
oXmppConnection.login("user1", "60474c9c10d7142b7508ce7a50acf414");
myChattingRoom = new MultiUserChat(oXmppConnection, "[email protected]");
myChattingRoom.create("roomNickName");
myChattingRoom.sendConfigurationForm(new Form(Form.TYPE_SUBMIT));
} catch (XMPPException e) {
e.printStackTrace();
}
}
private void inviteToJoinRoom(String user){
myChattingRoom.invite(user+"@10.10.1.105", "Please join my chatting room");
System.out.println("sent invitation by "+user);
}
private void sendMessage(String msg){
try {
myChattingRoom.sendMessage(msg);
} catch (XMPPException e) {
System.out.println("Exception occured while sending msg to chat room"+e);
}
}
private void createAcceptInvitationListener(String user){
MultiUserChat.addInvitationListener(userConnection.get(user), new InvitationListener() {
public void invitationReceived(Connection connection, String room, String inviter,
String reason, String password, Message msg) {
try {
myChattingRoom.join(connection.getUser().substring(0, connection.getUser().indexOf("@")));
} catch (XMPPException e) {
e.printStackTrace();
}
}
});
}
在此先感謝。
的[添加參與者XMPP聊天室]可能的複製(http://stackoverflow.com/questions/14098075/adding-participants-to-xmpp-聊天室) – legoscia
我的問題是,即使我邀請用戶加入該組,用戶也不會加入該組。這是我的問題。任何想法? @ legoscia – Anonymous
是的,如[本答案](http://stackoverflow.com/a/23953973/113848)中所述,無法強制用戶加入羣組:用戶收到邀請,必須決定如何/是否採取行動。 – legoscia