Reputation: 1534
I have the following code in android - I'm using asmack API.
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");
}
}
}
I'm creating an instance of the XMPPManager class in an XMPPClient activity like this:
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) {
}
}
}
The problem I'm getting is the following:
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)
Any ideas why I'm receiving the "Cannot connect to server." error? Thank you in advance.
Upvotes: 2
Views: 6296
Reputation: 6155
Check whether your xmpp server is configured properly and you are able to connect to it. You can use any other 3rd party xmpp client to connect & test your server.
Upvotes: 0
Reputation: 109257
I think this line,
private String host = "127.0.0.1";
is cause exception.. So try..
private String host = "10.0.2.2";
or System's public IP
Bco'z Android doesn't understand 127.0.0.1 ip of your system as a local host, this ip is for emulator itself..(loop back address)
Upvotes: 6