asmack断线重连openfire

1.加载ReconnectionManager

try {

Class.forName("org.jivesoftware.smack.ReconnectionManager");

} catch (Exception e1) {
}

2.设置重连参数

ConnectionConfiguration configuration = new ConnectionConfiguration(“ip”, port);
configuration.setReconnectionAllowed(true);

3.监听断线

connection.addConnectionListener(connectionListener);

public static ConnectionListener connectionListener = new ConnectionListener() {
@Override
public void reconnectionSuccessful() {
//重连成功

//重连成功后要重新注册接收消息的Listen,要不然没法接收到消息
}


@Override
public void reconnectionFailed(Exception arg0) {
//重连失败
}


@Override
public void reconnectingIn(int arg0) {
//重连中

}


@Override
public void connectionClosedOnError(Exception arg0) {
Log.i("connection", "connectionClosedOnError");
//重连失败
}

你可能感兴趣的:(openfire)