2014-11-10 2 views
1

Я работаю над приложением 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) 

Я был бы очень признателен, если кто-то может помочь мне понять, почему я получаю это исключение, а что неправильно

+0

Чтобы подключиться к серверу, вы должны использовать открытый IP-адрес системы вместо localhost. – WannaBeGeek

+0

Что такое название службы? –

ответ

1

набор configuration.host в

http://127.0.0.1:5222 

затем попробуйте

если есть еще проблема, тогда перейдите к Openfire> Сервер> Настройки сервера> клиентские подключения, а затем проверьте номер порта, которые имеют SSL (обычно 5223) и включить SSL и использовать хост с 5223 порт числа.

http://127.0.0.1:5223 
1

При подключении эмулятора от localhost. Вы не используете 127.0.0.1 ip вместо 10.0.2.2 для подключения к серверу localhost.