2011-12-20 6 views
2

다음 코드는 android에 있습니다. 저는 asmack API를 사용하고 있습니다.android - XMPP 클라이언트가 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"); 
     } 
    } 

    } 

나는이 같은 XMPPClient 활동에 XMPPManager 클래스의 인스턴스를 만드는거야 :

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

나는 127.0을 이해하지 못하는

private String host = "10.0.2.2"; 또는 시스템의 공용 IP

Bco'z 안드로이드 .. ..이 줄,

private String host = "127.0.0.1"; 

이 원인 예외라고 생각합니다 그래서보십시오. 로컬 호스트로 사용하는 시스템의 0.1 ip.이 IP는 에뮬레이터 자체 용입니다. (루프백 주소)

+0

이것은 정확하게 진행되고 있습니다. IP 주소를 변경하면 도움이되었습니다. 고맙습니다. – eleanor

0

귀하의 xmpp 서버가 올바르게 구성되었으므로 xmpp 서버에 연결할 수 있습니다. 다른 타사 xmpp 클라이언트를 사용하여 & 서버를 테스트 할 수 있습니다.

관련 문제