public XMPPConnection loginByUserName(String userName, StringpassWord) {
ConfigTools configTools = newConfigTools();
ConnectionConfiguration config= new ConnectionConfiguration(configTools.getOpenfireIp());
//serverIp表示的是你openfire服務(wù)器地址
config.setReconnectionAllowed(false);
config.setSendPresence(false);
XMPPConnection connection = newXMPPConnection(config);
try {
connection.connect();
connection.login(userName,passWord);
System.out.println(connection.getUser()+ " 登錄即時(shí)通訊服務(wù)器成功!");
} catch (Exception e) {
System.out.println("登錄即時(shí)通訊服務(wù)器失??!");
}
return connection;
}
public void creatMultiRoom(String userName,String passWord){
try {
//使用XMPPConnection創(chuàng)建一個(gè)MultiUserChat
MultiUserChatmuc = new MultiUserChat(loginByUserName(userName, passWord),"
//獲得聊天室的配置表單
Form form =muc.getConfigurationForm();
//根據(jù)原始表單創(chuàng)建一個(gè)要提交的新表單。
FormsubmitForm = form.createAnswerForm();
//向要提交的表單添加默認(rèn)答復(fù)
for (Iteratorfields = form.getFields(); fields.hasNext();){
FormField field = (FormField)fields.next();
if(!FormField.TYPE_HIDDEN.equals(field.getType())
&&field.getVariable() != null) {
// 設(shè)置默認(rèn)值作為答復(fù)
submitForm.setDefaultAnswer(field.getVariable());
}
}
//設(shè)置聊天室的新?lián)碛姓?nbsp;
// Listowners = new ArrayList();
//owners.add("liaonaibo2\\40slook.cc");
//owners.add("liaonaibo1\\40slook.cc");
//submitForm.setAnswer("muc#roomconfig_roomowners",owners);
//設(shè)置聊天室是持久聊天室,即將要被保存下來(lái)
submitForm.setAnswer("muc#roomconfig_persistentroom",true);
//房間僅對(duì)成員開(kāi)放
submitForm.setAnswer("muc#roomconfig_membersonly",false);
//允許占有者邀請(qǐng)其他人
submitForm.setAnswer("muc#roomconfig_allowinvites",true);
// 能夠發(fā)現(xiàn)占有者真實(shí)JID 的角色
//submitForm.setAnswer("muc#roomconfig_whois","anyone");
//登錄房間對(duì)話
submitForm.setAnswer("muc#roomconfig_enablelogging",true);
//僅允許注冊(cè)的昵稱登錄
submitForm.setAnswer("x-muc#roomconfig_reservednick",true);
//允許使用者修改昵稱
submitForm.setAnswer("x-muc#roomconfig_canchangenick",false);
//允許用戶注冊(cè)房間
submitForm.setAnswer("x-muc#roomconfig_registration",false);
//發(fā)送已完成的表單(有默認(rèn)值)到服務(wù)器來(lái)配置聊天室
muc.sendConfigurationForm(submitForm);
} catch (Exception e) {
e.printStackTrace();
}
}
public IQ joinXml(){
IQ iq = newIQ() {
public String getChildElementXML() {
StringBuilder buf = new StringBuilder();