Я работаю над приложением android, я пытался подключиться к серверу openfire, установленному локально. Сервер запущен и работает, но когда я пытаюсь запустить приложение на своем телефоне, он не подключается к серверу.Не удается подключиться к локальному серверу XMPP OpenFire
Код:
public class ChatService extends Service implements ConnectionListener {
private static Configuration configuration;
private static final String TAG = ChatService.class.getSimpleName();
public static void setupConnection(){
configuration = new Configuration();
final ConnectionConfiguration connectionConfiguration = new ConnectionConfiguration(configuration.getHost(), configuration.getPort(), configuration.getServiceName());
Log.d(TAG, "Host: " + configuration.getHost());
Log.d(TAG, "Port: " + configuration.getPort());
Log.d(TAG, "Service name: " + configuration.getServiceName());
Thread t = new Thread(new Runnable() {
@Override
public void run() {
configuration.setDebuggerEnabled(true);
XMPPConnection connection = new XMPPTCPConnection(connectionConfiguration);
try {
connection.connect();
if(connection.isConnected()){
Log.d(TAG, "Connected to server");
}
} catch (SmackException.ConnectionException e) {
for (int i = 0; i < e.getFailedAddresses().size(); i++) {
HostAddress element = e.getFailedAddresses().get(i);
Log.e("ERROR", element.getErrorMessage().toString());
}
e.printStackTrace();
} catch (SmackException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (XMPPException e) {
e.printStackTrace();
}
}
});
t.start();
}
В LogCat я получаю SmackException $ ConnectException.
Log:
11-10 00:48:20.400 18449-18860/com.example.puneet.chat E/ERROR﹕ localhost:5222 Exception: failed to connect to localhost/127.0.0.1 (port 5222): connect failed: ECONNREFUSED (Connection refused)
11-10 00:48:20.408 18449-18860/com.example.puneet.chat W/System.err﹕ org.jivesoftware.smack.SmackException$ConnectionException
11-10 00:48:20.408 18449-18860/com.example.puneet.chat W/System.err﹕ at org.jivesoftware.smack.tcp.XMPPTCPConnection.connectUsingConfiguration(XMPPTCPConnection.java:433)
11-10 00:48:20.408 18449-18860/com.example.puneet.chat W/System.err﹕ at org.jivesoftware.smack.tcp.XMPPTCPConnection.connectInternal(XMPPTCPConnection.java:808)
11-10 00:48:20.408 18449-18860/com.example.puneet.chat W/System.err﹕ at org.jivesoftware.smack.XMPPConnection.connect(XMPPConnection.java:396)
11-10 00:48:20.408 18449-18860/com.example.puneet.chat W/System.err﹕ at XMPPConnection.ChatService$1.run(ChatService.java:45)
11-10 00:48:20.408 18449-18860/com.example.puneet.chat W/System.err﹕ at java.lang.Thread.run(Thread.java:856)
Я был бы очень признателен, если кто-то может помочь мне понять, почему я получаю это исключение, а что неправильно
Чтобы подключиться к серверу, вы должны использовать открытый IP-адрес системы вместо localhost. – WannaBeGeek
Что такое название службы? –