2011-12-20 3 views
2

У меня есть следующий код в android - я использую asmack API.android - клиент XMPP не может подключиться к серверу localhost XMPP

public XMPPManager(String server, int port) { 
    this.server = server; 
    this.port = port; 

    SmackConfiguration.setPacketReplyTimeout(packetReplyTimeout); 
    config = new ConnectionConfiguration(server, port); 
    config.setSASLAuthenticationEnabled(false); 
    config.setSecurityMode(SecurityMode.disabled); 
    connection = new XMPPConnection(config); 
    try { 
     connection.connect(); 
     connection.login(user, pass); 
    } catch (XMPPException e) { 
     Log.w("Cannot connect to server.", "0"); 
     e.printStackTrace(); 
    } 
    if (connection.isAuthenticated()) { 
     AccountManager manager = connection.getAccountManager(); 
     try { 
     manager.createAccount("test", "test"); 
     } catch (XMPPException e) { 
     Log.w("Cannot create new user -----" + " on the XMPP server.", "0"); 
     } 
    } 

    } 

Я создаю экземпляр класса XMPPManager в XMPPClient деятельности, как это:

public class XMPPClient extends Activity { 
    private String username = "user"; 
    private String password = "pass"; 
    private String host  = "127.0.0.1"; 
    private int port  = 5222; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    try { 
     super.onCreate(savedInstanceState); 

     XMPPManager xmppManager = new XMPPManager(host, port); 
    } catch (Exception e) { 

    } 
    } 

} 

Проблема я получаю следующее:

W/Cannot connect to server.(1052): 0 
W/System.err(1052): XMPPError connecting to 127.0.0.1:5222.: remote-server-error(502) XMPPError connecting to 127.0.0.1:5222. 
W/System.err(1052): -- caused by: java.net.ConnectException: /127.0.0.1:5222 - Connection refused 
W/System.err(1052): at org.jivesoftware.smack.XMPPConnection.connectUsingConfiguration(XMPPConnection.java:562) 
W/System.err(1052): at org.jivesoftware.smack.XMPPConnection.connect(XMPPConnection.java:991) 
W/System.err(1052): at company.games.boxer.XMPPManager.<init>(XMPPManager.java:45) 
W/System.err(1052): at company.games.boxer.XMPPClient.onCreate(XMPPClient.java:17) 
W/System.err(1052): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
W/System.err(1052): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 
W/System.err(1052): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
W/System.err(1052): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
W/System.err(1052): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
W/System.err(1052): at android.os.Handler.dispatchMessage(Handler.java:99) 
W/System.err(1052): at android.os.Looper.loop(Looper.java:123) 
W/System.err(1052): at android.app.ActivityThread.main(ActivityThread.java:4627) 
W/System.err(1052): at java.lang.reflect.Method.invokeNative(Native Method) 
W/System.err(1052): at java.lang.reflect.Method.invoke(Method.java:521) 
W/System.err(1052): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
W/System.err(1052): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
W/System.err(1052): at dalvik.system.NativeStart.main(Native Method) 
W/System.err(1052): Nested Exception: 
W/System.err(1052): java.net.ConnectException: /127.0.0.1:5222 - Connection refused 
W/System.err(1052): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:254) 
W/System.err(1052): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:533) 
W/System.err(1052): at java.net.Socket.connect(Socket.java:1055) 
W/System.err(1052): at java.net.Socket.connect(Socket.java:997) 
W/System.err(1052): at org.jivesoftware.smack.proxy.DirectSocketFactory.createSocket(DirectSocketFactory.java:28) 
W/System.err(1052): at org.jivesoftware.smack.XMPPConnection.connectUsingConfiguration(XMPPConnection.java:550) 
W/System.err(1052): at org.jivesoftware.smack.XMPPConnection.connect(XMPPConnection.java:991) 
W/System.err(1052): at company.games.boxer.XMPPManager.<init>(XMPPManager.java:45) 
W/System.err(1052): at company.games.boxer.XMPPClient.onCreate(XMPPClient.java:17) 
W/System.err(1052): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
W/System.err(1052): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 
W/System.err(1052): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
W/System.err(1052): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
W/System.err(1052): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
W/System.err(1052): at android.os.Handler.dispatchMessage(Handler.java:99) 
W/System.err(1052): at android.os.Looper.loop(Looper.java:123) 
W/System.err(1052): at android.app.ActivityThread.main(ActivityThread.java:4627) 
W/System.err(1052): at java.lang.reflect.Method.invokeNative(Native Method) 
W/System.err(1052): at java.lang.reflect.Method.invoke(Method.java:521) 
W/System.err(1052): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
W/System.err(1052): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
W/System.err(1052): at dalvik.system.NativeStart.main(Native Method) 

Любые идеи почему я получаю сообщение «Не могу подключиться к серверу». ошибка? Заранее спасибо.

+0

Вы пробовали мой ответ ..? – user370305

ответ

5

Я думаю, что эта линия,

private String host = "127.0.0.1"; 

вызывает исключение .. Так что попробуйте .. публичный IP

private String host = "10.0.2.2"; или системы

Bco'z Android не понимает 127,0. 0.1 ip вашей системы в качестве локального хоста, этот ip для самого эмулятора .. (адрес обратной связи)

+0

Это именно то, что происходило. Помогло изменение IP-адреса. Спасибо. – eleanor

0

Проверьте, ваш сервер xmpp настроен правильно, и вы можете подключиться к нему. Вы можете использовать любой другой сторонний клиент xmpp для подключения к серверу &.

Смежные вопросы