2017-01-18 15 views
-5

我花了10天的時間試圖製作一個簡單的Java客戶端,它使用tls連接並登錄到ejabberd服務器。我使用Android Studio或eclipse。我已經嘗試過每個我能找到的例子,但沒有任何工作。tls smack ejabberd Android Sudio。我只是想要一個簡單的例子,

+0

歡迎來到Stackoverflow!爲了充分利用網站,提出一些好問題很重要。有關提問的指南,請訪問:http://stackoverflow.com/help/how-to-ask –

回答

0

首先,你必須包含庫到您的gradle中的文件項目是這樣的:

Add SMACK API to android project by adding dependencies in build.gradle for the app. 
compile 'org.igniterealtime.smack:smack-android:4.1.4' 
// Optional for XMPPTCPConnection 
compile 'org.igniterealtime.smack:smack-tcp:4.1.4' 
// Optional for XMPP-IM (RFC 6121) support (Roster, Threaded Chats) 
compile 'org.igniterealtime.smack:smack-im:4.1.4' 
// Optional for XMPP extensions support 
compile 'org.igniterealtime.smack:smack-extensions:4.1.4' 

然後連接這樣的:

XMPPTCPConnectionConfiguration.Builder configBuilder =  XMPPTCPConnectionConfiguration.builder(); 
    configBuilder.setUsernameAndPassword(userName, passWord); 
    configBuilder.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled); 
    configBuilder.setResource("Android"); 
    configBuilder.setServiceName(DOMAIN); 
configBuilder.setHost(HOST); 
configBuilder.setPort(PORT); 
    //configBuilder.setDebuggerEnabled(true); 
    connection = new XMPPTCPConnection(configBuilder.build()); 
    connection.addConnectionListener(connectionListener); 

希望它會工作。

+0

謝謝。但是,這是行不通的,因爲它不使用tls,因爲configBuilder.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled); 我已經嘗試過沒有成功的確切例子。 – ZingMe

相關問題