2012-04-17 4 views
2

Openfireサーバーに接続しようとすると、競合エラー(409)が発生します。Asmack Conflict(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

+0

別のリソースを使用してログインしようとするとどうなりますか? – Jave

+0

私は正常にログインすることができます、私は正常にログインした後、私は再びログインすることはできません、上記のエラーをスローします.. –

答えて

0

私はスワック内のコードを検索しません。サーバー(openfireのような音)は、彼が設定したことをやっていないようです:最後のリソースをキックします。すでに接続されているfullJID(これは裸のID +リソース)をバインドしようとするXMPPクライアントを使用して、このケースを検証しようとすることができます。

+0

こんにちは、申し訳ありません。あなたはこれを行うクライアントの名前を私に提供することができますか?すでに接続されているfullJID(それは裸のID +リソースです)をバインドしようとするXMPPクライアントを使用してこのケースを検証しようとする可能性がありますか? pidgin(Windowsプラットフォーム)を使用してログインしようとしましたが、問題なくログインしています。また、別のクライアント(citron IM)でログインしようとしていますが、pidginはまだログインしています。時間) –

+0

考え方は、同じサーバーを持つ別のXMPPクライアント/ライブラリを使用して状況を再現し、動作が同じであるかどうかを確認することで、問題を回避することができます。彼らは両方とも同じフルJIDでログインしていますか? – Flow

0

@ GodWin xmppすでに他のユーザーが使用しているユーザー名を持つアカウントを作成すると、競合エラー(409)が発生します。ログイン時にこのタイプの例外を経由しないでください。 アカウントを作成すると、サーバーに登録されていない新しい資格情報を使用します。

関連する問題