2015-02-11 65 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服务器时(的