我試圖用Java創建一個多用戶聊天。我正在使用smack庫。 這是我的代碼來創建multiuserchat:Smack - 如何閱讀MultiUserChat的配置?
MultiUserChat muc = new MultiUserChat(connection, "[email protected]");
muc.create("mynickname");
Form form = muc.getConfigurationForm();
Form submitForm = form.createAnswerForm();
submitForm.setAnswer("muc#roomconfig_roomname", "A nice formatted Room Name");
submitForm.setAnswer("muc#roomconfig_roomdesc", "The description. It should be longer.");
muc.sendConfigurationForm(submitForm);
muc.addMessageListener(mucMessageListener); // mucMessageListener is a PacketListener
然後,我試圖捕捉通過這個房間mucMessageListener以上使用創建的發送的消息:(
private PacketListener mucMessageListener = new PacketListener() {
public void processPacket(Packet packet) {
if (packet instanceof Message) {
Message message = (Message) packet;
// this is where I got the problem
}
}
}
正如其他部分所接收的消息的用戶誰是不是這個multiuserchat的所有者),可他以某種方式獲取價值在此線之上設置:
submitForm.setAnswer("muc#roomconfig_roomname", "A nice formatted Room Name");
你看,想起來的JID的房間是不是真的很好的觀點。我希望我可以有一個字符串,其值是「一個不錯的格式化房間名稱」。
我們怎樣才能得到它?