0

So My problem is as follows: I have problem uploading/downloading files from FTP LOCAL server, But I can connect and login to the server successfully.

I'm using Apache Common-net API to connect to FTP server in Java.

This is the error I get: Android Studio Error

This is the code I used to connect:

FTPClient client = new FTPClient();
        client.setConnectTimeout(3000);
        client.connect("10.0.2.2", 21);
        client.login("root", "root");
        client.setFileType(FTP.BINARY_FILE_TYPE);
        client.enterLocalPassiveMode();
        FileOutputStream outputStream = new FileOutputStream(new File(getFilesDir() + "/GoodBoy.txt"));
        client.retrieveFile("test.txt", outputStream);

I'm also using FileZilla Server for FTP server, with port 21, I'm connecting to it using 10.0.2.2 which is a bridge between my local IP address/Android emulator.

So This is log message in FileZilla FileZilla Log

I tried this same code from intelliJ IDE, and It worked, It fetched the file from FTP server and disconnected after it which was expected, It just wont work in android. Any ideas why?

Error as text:

java.net.ConnectException: failed to connect to /127.0.0.1 (port 19) from /127.0.0.1 (port 50162) after 3000ms: isConnected failed: ECONNREFUSED (Connection refused)
     at libcore.io.IoBridge.isConnected(IoBridge.java:288)
     at libcore.io.IoBridge.connectErrno(IoBridge.java:193)
     at libcore.io.IoBridge.connect(IoBridge.java:135)
     at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:142)
     at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:390)
     at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230)
     at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212)
     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
     at java.net.Socket.connect(Socket.java:621)
     at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:920)
     at org.apache.commons.net.ftp.FTPClient._retrieveFile(FTPClient.java:1899)
     at org.apache.commons.net.ftp.FTPClient.retrieveFile(FTPClient.java:1885)
     at my.bandit.MainActivity.onCreate(MainActivity.java:66)
     at android.app.Activity.performCreate(Activity.java:7802)
     at android.app.Activity.performCreate(Activity.java:7791)
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299)
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
     at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
     at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
     at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
     at android.os.Handler.dispatchMessage(Handler.java:107)
     at android.os.Looper.loop(Looper.java:214)
     at android.app.ActivityThread.main(ActivityThread.java:7356)
     at java.lang.reflect.Method.invoke(Native Method)
     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
    Caused by: android.system.ErrnoException: isConnected failed: ECONNREFUSED (Connection refused)
     at libcore.io.IoBridge.isConnected(IoBridge.java:275)
    ... 27 more

0 Answers0