我是使用SMACK v4.0.6实现XMPP和使用Android XMPP客户端的新手。我正在尝试使用以下代码连接到在我的本地Linux机器上运行的SMACK服务器
`ConnectionConfiguration connConfig = new ConnectionConfiguration(localServerIP, 5222);
XMPPConnection connection = new XMPPConnection(connConfig);
try{
connection.connect();
}catch(Exception e)`.
我无法连接到服务器,我只得到一个ConnectionException。客户端和服务器都连接到同一本地网络,Android应用程序具有与Internet连接的权限。服务器正在运行默认配置。你能告诉我我错过了什么吗?
由于
答案 0 :(得分: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();
}