public XMPPConnection loginByUserName(String userName, String
passWord) {
ConfigTools configTools = new
ConfigTools();
ConnectionConfiguration config
= new ConnectionConfiguration(configTools.getOpenfireIp());
//
serverIp表示的是你openfire服务器地址
config.setReconnectionAllowed(false);
config.setSendPresence(false);
XMPPConnection connection = new
XMPPConnection(config);
try {
connection.connect();
connection.login(userName,
passWord);
System.out.println(connection.getUser()
+ " 登录即时通讯服务器成功!");
} catch (Exception e) {
System.out.println("登录即时通讯服务器失败!");
}
return connection;
}
public void creatMultiRoom(String userName,
String passWord){
try {
//
使用XMPPConnection创建一个MultiUserChat
MultiUserChat
muc = new MultiUserChat(loginByUserName(userName, passWord),
"myroom@conference.jabber.org");
//
创建聊天室
muc.create("testbot");
//
获得聊天室的配置表单
Form form =
muc.getConfigurationForm();
//
根据原始表单创建一个要提交的新表单。
Form
submitForm = form.createAnswerForm();
//
向要提交的表单添加默认答复
for (Iterator
fields = form.getFields(); fields.hasNext();)
{
FormField field = (FormField)
fields.next();
if
(!FormField.TYPE_HIDDEN.equals(field.getType())
&&
field.getVariable() != null) {
// 设置默认值作为答复
submitForm.setDefaultAnswer(field.getVariable());
}
}
//
设置聊天室的新拥有者
// List
owners = new ArrayList();
//
owners.add("liaonaibo2\\40slook.cc");
//
owners.add("liaonaibo1\\40slook.cc");
//
submitForm.setAnswer("muc#roomconfig_roomowners",
owners);
//
设置聊天室是持久聊天室,即将要被保存下来
submitForm.setAnswer("muc#roomconfig_persistentroom",
true);
//
房间仅对成员开放
submitForm.setAnswer("muc#roomconfig_membersonly",
false);
//
允许占有者邀请其他人
submitForm.setAnswer("muc#roomconfig_allowinvites",
true);
// 能够发现占有者真实
JID 的角色
//
submitForm.setAnswer("muc#roomconfig_whois",
"anyone");
//
登录房间对话
submitForm.setAnswer("muc#roomconfig_enablelogging",
true);
//
仅允许注册的昵称登录
submitForm.setAnswer("x-muc#roomconfig_reservednick",
true);
//
允许使用者修改昵称
submitForm.setAnswer("x-muc#roomconfig_canchangenick",
false);
//
允许用户注册房间
submitForm.setAnswer("x-muc#roomconfig_registration",
false);
//
发送已完成的表单(有默认值)到服务器来配置聊天室
muc.sendConfigurationForm(submitForm);
} catch (Exception e) {
e.printStackTrace();
}
}
public IQ joinXml(){
IQ iq = new
IQ() {
public String getChildElementXML() {
|