2015-02-11 63 views
0

我是使用SMACK v4.0.6實現XMPP並使用Android XMPP客戶端的新手。我試圖連接到使用下面的代碼使用SMACK v4.0.6的Android上的XMPP客戶端

`ConnectionConfiguration connConfig = new ConnectionConfiguration(localServerIP, 5222); 
XMPPConnection connection = new XMPPConnection(connConfig); 
try{ 
    connection.connect(); 
}catch(Exception e)`. 

我無法連接到服務器,我只能得到一個ConnectionException我的本地Linux機器上一巴掌服務器上運行。客戶端和服務器都連接到同一本地網絡,並且Android應用程序有權與Internet連接。服務器正在運行默認配置。你能告訴我缺少什麼嗎?

謝謝

+0

可能重複http://stackoverflow.com/questions/25998575/connectionexception-when-trying-to-connect-to-xmpp-服務器從-asmack功能的Android-CL) – Flow 2015-02-12 07:25:57

回答

0

更新smack到4.1。 在您的Gradle中,添加

compile 'org.igniterealtime.smack:smack-android:4.1.0' 
compile 'org.igniterealtime.smack:smack-tcp:4.1.0' 
compile 'org.igniterealtime.smack:smack-android-extensions:4.1.0' 

請試試這個。

XMPPTCPConnectionConfiguration.Builder configBuilder = XMPPTCPConnectionConfiguration.builder(); 
    configBuilder.setHost(url); 
    configBuilder.setPort(port); 
    configBuilder.setServiceName("your service name"); 
    configBuilder.setSendPresence(true); 

    try{ 
       connection = new XMPPTCPConnection(configBuilder.build()); 
       // Connect to the server 
       connection.connect(); 
    }catch (XMPPException | SmackException | IOException e) { 
       e.printStackTrace(); 
    } 
[ConnectionException試圖從aSmack Android客戶端連接到XMPP服務器時(的