При попытке подключиться к FTP-серверу у меня появляется сообщение "Не удалось подключиться к хосту", что я делаю не так?

Я разрабатываю приложение для Android, которое подключается к FTP-серверу для загрузки и скачивания файлов. Для этого я использую класс FTPClient библиотеки apache commons-net, основанный на этом, и я работаю над Eclipse.

Но я получаю следующее сообщение на своем Logcat:

07-04 21:11:44.196: D/USB Virtual(14708): Error: could not connect to host ftp://xxx.xxx

Ниже приведены мои манифесты разрешений:

<uses-sdk android:minSdkVersion="7" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>

Я действительно заблудился относительно того, почему я не могу подключиться к своему FTP-серверу, в консоли не отображаются ошибки. Я что-то пропустил? Я хотел бы поблагодарить любую помощь.

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

public boolean ftpConnect(String host, String username, String password,
        int port) {
    try {
        mFTPClient = new FTPClient();
                    //host is ftp://looner-project.zxq.net
        mFTPClient.connect(host);
        mFTPClient.connect(InetAddress.getByName(host));


        if (FTPReply.isPositiveCompletion(mFTPClient.getReplyCode())) {

            boolean status = mFTPClient.login(username, password);
            mFTPClient.setFileType(FTP.BINARY_FILE_TYPE);
            mFTPClient.enterLocalPassiveMode();

            return status;
        }
    } catch (Exception e) {
        Log.d(TAG, "Error: could not connect to host " + host);
    }

    return false;
}

1 ответ

Вещи, чтобы проверить...

1. Проверьте подключение к интернету.

2. Правильно ли вы указываете URL-адрес FTP-сайта?

3. Если его пароль защищен, вы даете их правильно?

4. Используя командную строку, проверьте его. Дайте команду ниже, чтобы проверить это.

ftp www.your_ftp_site.com

После вышеупомянутой команды вам будет предложено ввести имя пользователя и пароль.

Я также прилагаю свой код, который я использовал, чтобы загрузить аудио файл на сервер, чтобы прояснить...

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.IOException;

    import org.apache.commons.net.ftp.FTP;

    import org.apache.commons.net.ftp.FTPClient;

    import android.util.Log;



    public class MyOwn {

        public void goforIt(){


            FTPClient con = null;

            try
            {
                con = new FTPClient();
                con.connect("www.mysamle.net");                 // Its dummy Address

                if (con.login("uju495", "Stevejobs!!"))
                {
                    con.enterLocalPassiveMode();                   // Very Important

                    con.setFileType(FTP.BINARY_FILE_TYPE);        //  Very Important
                    String data = "/sdcard/Vivekm4a.m4a";

                    FileInputStream in = new FileInputStream(new File(data));
                    boolean result = con.storeFile("/Ads/Vivekm4a.m4a", in);
                    in.close();
                    if (result) Log.v("upload result", "succeeded");
                    con.logout();
                    con.disconnect();
                }
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }   
        }

    }
Другие вопросы по тегам