第一次这么正经写学习博客,不知道从何下手。就先贴个代码,作为起始吧。错了,第一步是安装openfire。按着向导就可以了,数据库配置那里,根据自己的需求配置数据库连接字符串就可以了。刚开始时,只需要在用户/组——新建用户,进行测试就可以了
package main.java.conection;
import java.io.IOException;
import org.jivesoftware.smack.AbstractXMPPConnection;
import org.jivesoftware.smack.ConnectionConfiguration.SecurityMode;
import org.jivesoftware.smack.SmackException;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.chat.Chat;
import org.jivesoftware.smack.chat.ChatManager;
import org.jivesoftware.smack.tcp.XMPPTCPConnection;
import org.jivesoftware.smack.tcp.XMPPTCPConnectionConfiguration;
public class Test {
public static void main(String[] args) {
XMPPTCPConnectionConfiguration.Builder builder=XMPPTCPConnectionConfiguration.builder();
builder.setHost("127.0.0.1") //非必需;但似乎配置了host后,连接的速度会更快
.setServiceName("administrator")//openfire服务器名称(一般是所在计算机的名称),不分大小写,必需配置
.setPort(5222)//默认客户端到服务端的端口,非必需
.setSecurityMode(SecurityMode.disabled);//由于没有相关证书,所以设置为disabled;必需
XMPPTCPConnection connection=new XMPPTCPConnection(builder.build());//XMPPTCPConnection有多种构造方法
try {
connection.connect();
/*
账号或密码错误时报错:SASLError using SCRAM-SHA-1: not-authorized
注意这里第一个参数是username;账号
*/
connection.login("lily", "123456");
//单例模式,每个connection创建出一个chatManager
ChatManager chatManager=ChatManager.getInstanceFor(connection);
Chat chat=chatManager.createChat("admin@127.0.0.1");//这里参数是Jid
chat.sendMessage("hello admin2");
System.out.println("send successfully");
} catch (XMPPException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SmackException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}