2014-12-02 69 views
1

我使用asmack-android-8-4.0.6.jar作爲xmpp的庫,我能夠連接早期版本的asmack lib,但有了這個新的最新的lib我得到以下例外,請幫助我如何使用最新的asmack lib, 啓用SSL身份驗證我找不到connConfig.setSASLAuthenticationEnabled(true);在最新的libXMPP連接的asmack-android-8-4.0.6.jar問題

ConnectionConfiguration connConfig = new ConnectionConfiguration(HOST,PORT); 
//connConfig.setSASLAuthenticationEnabled(true); 
// connConfig.setCompressionEnabled(true); 
connConfig.setSecurityMode(SecurityMode.enabled); 
connConfig.setDebuggerEnabled(true); 
connConfig.setSocketFactory(new DummySSLSocketFactory()); 
connection = new XMPPTCPConnection(connConfig); 
try { 
    connection.connect(); 
    Log.i(TAG, "Connected to " + connection.getServiceName()); 
} catch (XMPPException ex) { 
    Log.e(TAG, "Failed to connect to " + connection.getHost()); 
    Log.e(TAG, ex.toString()); 
    return null; 
    //setConnection(null); 
} catch (Exception e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

下面的方法是堆棧跟蹤我得到

12-02 12:56:14.612: W/System.err(23797): javax.net.ssl.SSLException: Connection closed by peer 
12-02 12:56:14.622: W/System.err(23797): at org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_do_handshake(Native Method) 
12-02 12:56:14.622: W/System.err(23797): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:378) 
12-02 12:56:14.622: W/System.err(23797): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl$SSLInputStream.<init>(OpenSSLSocketImpl.java:649) 
12-02 12:56:14.622: W/System.err(23797): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.getInputStream(OpenSSLSocketImpl.java:620) 
12-02 12:56:14.622: W/System.err(23797): at org.jivesoftware.smack.tcp.XMPPTCPConnection.initReaderAndWriter(XMPPTCPConnection.java:507) 
12-02 12:56:14.622: W/System.err(23797): at org.jivesoftware.smack.tcp.XMPPTCPConnection.initConnection(XMPPTCPConnection.java:457) 
12-02 12:56:14.622: W/System.err(23797): at org.jivesoftware.smack.tcp.XMPPTCPConnection.connectUsingConfiguration(XMPPTCPConnection.java:440) 
12-02 12:56:14.622: W/System.err(23797): at org.jivesoftware.smack.tcp.XMPPTCPConnection.connectInternal(XMPPTCPConnection.java:811) 
12-02 12:56:14.622: W/System.err(23797): at org.jivesoftware.smack.XMPPConnection.connect(XMPPConnection.java:396) 
12-02 12:56:14.622: W/System.err(23797): at com.mydoc.pro.messenger.net.XMPPConnectAsyncTask.setXMPPConnection(XMPPConnectAsyncTask.java:92) 
12-02 12:56:14.622: W/System.err(23797): at com.mydoc.pro.messenger.net.XMPPConnectAsyncTask.doInBackground(XMPPConnectAsyncTask.java:61) 
12-02 12:56:14.622: W/System.err(23797): at com.mydoc.pro.messenger.net.XMPPConnectAsyncTask.doInBackground(XMPPConnectAsyncTask.java:1) 
12-02 12:56:14.622: W/System.err(23797): at android.os.AsyncTask$2.call(AsyncTask.java:287) 
12-02 12:56:14.622: W/System.err(23797): at java.util.concurrent.FutureTask.run(FutureTask.java:234) 
12-02 12:56:14.622: W/System.err(23797): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 
12-02 12:56:14.622: W/System.err(23797): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 
12-02 12:56:14.622: W/System.err(23797): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 
12-02 12:56:14.622: W/System.err(23797): at java.lang.Thread.run(Thread.java:856) 
12-02 12:56:14.622: I/XMPPConnectAsyncTask(23797): No connection to server null 
12-02 12:56:14.622: W/System.err(23797): org.jivesoftware.smack.SmackException$NotConnectedException 
12-02 12:56:14.632: W/System.err(23797): at org.jivesoftware.smack.XMPPConnection.sendPacket(XMPPConnection.java:584) 
12-02 12:56:14.632: W/System.err(23797): at com.mydoc.pro.messenger.net.XMPPConnectAsyncTask.setXMPPConnection(XMPPConnectAsyncTask.java:117) 
12-02 12:56:14.632: W/System.err(23797): at com.mydoc.pro.messenger.net.XMPPConnectAsyncTask.doInBackground(XMPPConnectAsyncTask.java:61) 
12-02 12:56:14.632: W/System.err(23797): at com.mydoc.pro.messenger.net.XMPPConnectAsyncTask.doInBackground(XMPPConnectAsyncTask.java:1) 
12-02 12:56:14.632: W/System.err(23797): at android.os.AsyncTask$2.call(AsyncTask.java:287) 
12-02 12:56:14.632: W/System.err(23797): at java.util.concurrent.FutureTask.run(FutureTask.java:234) 
12-02 12:56:14.632: W/System.err(23797): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 
12-02 12:56:14.632: W/System.err(23797): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 
12-02 12:56:14.632: W/System.err(23797): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 
12-02 12:56:14.632: W/System.err(23797): at java.lang.Thread.run(Thread.java:856) 

回答

2
connConfig.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled); 

與安全模式禁用現在正在