2016-04-29 15 views
1

私はOpenfireサポートをバックエンドとして使用し、Asmack version 8-0.8.9を使用してチャットアプリケーションを実装しています。しかし、ログイン中にNon SASL Authenticationの問題が発生しました。メッセージに「No Response from Server」と表示されます。さらに、アプリケーションが何も実行していない状態でアイドル状態になると、セッションがopenfireから削除され、切断されるという問題に直面しています。XMPPを使用して非SASL認証の問題を取得する

これは私がopenfireに接続して、ログインを行っております方法です:

AndroidConnectionConfiguration connConfig = 
new AndroidConnectionConfiguration(HOST, PORT,SERVICE); 
connConfig.setDebuggerEnabled(true); 
connConfig.setReconnectionAllowed(false); 
connConfig.setRosterLoadedAtLogin(true); 
connConfig.setSASLAuthenticationEnabled(false); 
connection.connect(); 
connection.login(Uname,Password); 

ほとんどの場合、これは正常に動作しているが、ランダムにそれは私に非を使用してサーバからの応答がありませんつまり、ログイン時にエラーが発生しますSASL認証メッセージ。

私は間違っていますか?同じことについて他の詳細が必要な場合はお知らせください。

ありがとうございます!

+0

スタックトレースを表示できますか? –

+0

@ BoSborgPetersenメカニズムを使用してSASL認証に失敗しましたPLAIN: at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:325) at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:395) –

答えて

0

必要なすべてのjarファイルが含まれていることを確認する必要があります。

依存関係管理システムによっては、それを別に追加する必要がありますが、smack-sasl-javax、smack-java7およびsmack-resolver-javaxを必ず含めてください。

<dependency> 
    <groupId>org.igniterealtime.smack</groupId> 
    <artifactId>smack-sasl-javax</artifactId> 
    <version>4.1.6</version> 
</dependency> 
<dependency> 
    <groupId>org.igniterealtime.smack</groupId> 
    <artifactId>smack-java7</artifactId> 
    <version>4.1.6</version> 
</dependency> 
<dependency> 
    <groupId>org.igniterealtime.smack</groupId> 
    <artifactId>smack-resolver-javax</artifactId> 
    <version>4.1.6</version> 
</dependency> 

そして、あなたはサーバ証明書を検証していることを確認してください:それは次のようになり達人で

これは、 'setHostnameVerifier(XMPPHostnameVerifier verifier)'と 'setCustomSSLContext(SSLContextコンテキスト)'を使用して行うことができます。

関連する問題