'da MUC odasına katılırken hata Çok kullanıcılı bir sohbet oluşturmaya çalışıyorum. Odaya girerken hata alıyorum. kullanıcının katıldığı odanınXMPP (smack)
public void joinMultiUserChatRoom(String userName, String roomName) {
// Get the MultiUserChatManager
MultiUserChatManager manager = MultiUserChatManager.getInstanceFor(connection);
// Create a MultiUserChat using an XMPPConnection for a room
MultiUserChat multiUserChat = manager.getMultiUserChat(roomName + "@conference.localhost");
DiscussionHistory history = new DiscussionHistory();
history.setMaxStanzas(-1);
try {
multiUserChat.join(userName, "", history, connection.getPacketReplyTimeout());
} catch (Exception e) {
e.printStackTrace();
}
}
Alma Listesi: MUC odası katılmak için
public void createMultiUserChatRoom(String roomName, String nickName) {
// Get the MultiUserChatManager
MultiUserChatManager multiUserChatManager = MultiUserChatManager.getInstanceFor(connection);
// Get a MultiUserChat using MultiUserChatManager
MultiUserChat multiUserChat = multiUserChatManager.getMultiUserChat(roomName+"@conference.localhost");
try {
multiUserChat.create(nickName);
Form form = multiUserChat.getConfigurationForm();
Form submitForm = form.createAnswerForm();
List<FormField> formFieldList = submitForm.getFields();
for (FormField formField : formFieldList) {
if(!FormField.Type.hidden.equals(formField.getType()) && formField.getVariable() != null) {
submitForm.setDefaultAnswer(formField.getVariable());
}
}
submitForm.setAnswer("muc#roomconfig_persistentroom", true);
submitForm.setAnswer("muc#roomconfig_publicroom", true);
multiUserChat.sendConfigurationForm(submitForm);
} catch (Exception e) {
e.printStackTrace();
}
}
Yöntemi: sohbet odası oluşturmak için Yöntem
public List<String> getJoinedGroupByUserName(String userName) {
// Get the MultiUserChatManager
MultiUserChatManager manager = MultiUserChatManager.getInstanceFor(connection);
List<String> joinedRooms = null;
try {
// Get the rooms where [email protected] has joined
joinedRooms = manager.getJoinedRooms(userName+"@conference.localhost");
} catch (Exception e) {
e.printStackTrace();
}
return joinedRooms;
}
kullanıcı i bu olsun odama katılması iken message: "Bu oda, konfigürasyon onaylanana kadar girişten kilitlenir." Bir yapılandırmayı gönderdikten sonra (teyit) gerçekten müsait değil
Oda oluştururken yapılandırmayı gönderiyorum. Odaya katılırken yeniden yapılandırma göndermem gerekiyor mu? Ve oda mevcut (veritabanı için odaya giriş var) – Jennifer
Hayır, sadece zaman yaratın, ama "yarat", YALNIZCA CREATOR odasına katıldıktan sonra tamamlandı. Ancak, muhtemelen bir persitance oda için de yapılandırma yaratıcısı olarak göndermek zorundasınız (muC# roomconfig_roomowners -> Liste sahibi) –
MrPk
Sohbet odasına üye olmaya çalışıyorum. Yani bunun için de oda arkadaşı eklemek zorundayım? Daha sonra oda üyelerini eklemeye ihtiyacım var, bu yüzden MUC odası oluştururken ekleyemiyorum – Jennifer