when the client got 'unclean' disconnection from the WiFi / GSM,
doesn't send
<resume xmlns='urn:xmpp:sm:3' h='some-sequence-number' previd='some-long-sm-id'/>
stanza after reconnecting
always:
D/SMACK﹕ SENT (0): <enable xmlns='urn:xmpp:sm:3' resume='true'/>
D/SMACK﹕ RECV (0): <enabled xmlns='urn:xmpp:sm:3' id='e3de0d2c-49ac-42f1-b78c-6f2bfcb045e0' resume='true' max='60' location='jiazhangquan.im.etiantian.net' />
if the client got 'unclean' disconnection from the WiFi / GSM ,
what should I do when the client reconnection ?
just connection.connect(); connection.login(); ?
my code:
XMPPTCPConnectionConfiguration.Builder builder = XMPPTCPConnectionConfiguration.builder();
builder.setHost(service);
builder.setPort(port);
builder.setUsernameAndPassword(jid, pwd);
builder.setServiceName(service);
builder.setDebuggerEnabled(true);
builder.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);
if(connection == null) {
connection = new XMPPTCPConnection(builder.build());
}
XMPPTCPConnection.setUseStreamManagementDefault(true);
XMPPTCPConnection.setUseStreamManagementResumptiodDefault(true);
connection.setUseStreamManagement(true);
connection.setUseStreamManagementResumption(true);
try {
connection.connect();
connection.login();
} catch (Exception e) {
e.printStackTrace();
}
build.gradle:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile "org.igniterealtime.smack:smack-android-extensions:4.1.0"
compile "org.igniterealtime.smack:smack-tcp:4.1.0"
compile "org.igniterealtime.smack:smack-experimental:4.1.0"
compile "org.igniterealtime.smack:smack-android:4.1.0"
}