以下只是个人的入门练习
1、做一番百度,你就了解标题上的名词,赶紧去百度吧。
2、我用openfire作为服务端,就省得自己去搭建。
3、自己去下载Openfire,ASmack吧,网上老多了,下载后安装Openfire(安装配置网上也很多),导入asmack的jar包。
主要文件浏览
/IM/src/com/example/service/XxmpConnection.java
import org.jivesoftware.smack.ConnectionConfiguration;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
public class XxmpConnection {
private static XMPPConnection con = null;
private static void openConnection() {
try {
// url、端口,也可以设置连接的服务器名字,地址,端口,用户。
ConnectionConfiguration connConfig = new ConnectionConfiguration("192.168.10.74", 5222);
// configuration设置
// connConfig.setReconnectionAllowed(true);
// connConfig.setCompressionEnabled(false);
// connConfig.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);
// connConfig.setSASLAuthenticationEnabled(false);
con = new XMPPConnection(connConfig);
con.connect();
} catch (XMPPException xe) {
xe.printStackTrace();
}
}
public static XMPPConnection getConnection() {
if (con == null) {
openConnection();
}
return con;
}
public static void closeConnection() {
con.disconnect();
con = null;
}
}
先说说我注册时遇到的问题
搜了一下,有说设置客户端
configuration设置
connConfig.setReconnectionAllowed(true);
connConfig.setCompressionEnabled(false);
connConfig.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);
connConfig.setSASLAuthenticationEnabled(false);
有说设置服务端把 服务器设置——>安全设置——>客户端安全连接中的非必须改为自定义
我都试了一下,都没解决我的问题
是我大意了,我的电脑连的wifi服务端昨天写的,昨天和今天的ip不一样,所以改一下ip就好了
但是我还好奇如果我客户端没有给configuration配置会怎样呢,所以我注销了上面的配置
我人品好注册成功
然后我又把服务端自定义改为非必须,注册依旧成功
所以遇到问题多搜搜,解决方法都不一样。