Openfire サーバーに接続しようとすると、競合エラー (409) が発生します。
サーバーに確認したところ、サーバーポリシーは「同じ新しい着信接続がある場合は最後の接続をキックする」に設定されています
W/System.err(13238): conflict(409)
W/System.err(13238): at org.jivesoftware.smack.SASLAuthentication.bindResourc
eAndEstablishSession(SASLAuthentication.java:458)
W/System.err(13238): at org.jivesoftware.smack.SASLAuthentication.authenticat
e(SASLAuthentication.java:349)
W/System.err(13238): at org.jivesoftware.smack.XMPPConnection.login(XMPPConne
ction.java:230)
W/System.err(13238): at org.jivesoftware.smack.Connection.login(Connection.ja
va:353)
これをしようとすると:
ConnectionConfiguration xmppCc = new ConnectionConfiguration("some.domain");
xmppCc.setSendPresence(false);
XMPPConnection xmppConn = new XMPPConnection(xmppCc);
xmppConn.connect();
xmppConn.login(username, password);
最後の行を実行するときに例外がスローされます(ログイン)
アクティビティ onDestroy() でこれを行います
@Override
protected void onDestroy() {
super.onDestroy();
Presence presence = new Presence(Presence.Type.unavailable);
xmppConn.sendPacket(presence);
xmppConn.disconnect();
}
どんな助けでも大歓迎です、ありがとう! :D