Проблема при подключении к FTP серверу через андроид? - PullRequest
2 голосов
/ 14 сентября 2011

У меня UnknownHostException, когда я использовал этот метод для загрузки файлов из ddms:

try {
SimpleFTP ftp = new SimpleFTP();

// Connect to an FTP server on port 21.
ftp.connect("ftp://*******", 21, "*****", "*****");

// Set binary mode.
ftp.bin();

// Change to a new working directory on the FTP server.
ftp.cwd("web");

// Upload some files.
ftp.stor(new File("data/data/com.android/file/contacts"));


// Quit from the FTP server.
ftp.disconnect();
}
catch (IOException e) {
// Jibble.
}

В чем проблема для этого метода?Кто-нибудь уточнить меня.

Ответы [ 2 ]

1 голос
/ 20 сентября 2011

Существуют две основные проблемы с использованием FTP на эмуляторе Android:

  1. Эмулятор захватывает определенный порт на хост-машине (между 5554 и 5584) для доступа в Интернет..

    См. http://developer.android.com/guide/developing/tools/emulator.html

  2. FTP осуществляет связь через два порта.Начальный порт (тот, который использует эмулятор) и вторичный порт передачи данных (обычно определяется клиентом и сервером FTP).

    См. http://www.troubleshootingnetworks.com/ftpinfo.html для получения информации о том, как работает FTP.

Это означает, что первоначальная связь с FTP-сервером работает так, как она предназначена, но как только вы пытаетесь передать данные на / с сервера, эмулятор не может связаться с портом FTP-серверазапросы, потому что ваш компьютер не знает, что делать с трафиком на этом порту.Чтобы лучше понять связь по FTP, перейдите по ссылке выше.

Если вы хотите протестировать FTP на Android, вам понадобится устройство с собственным интернет-соединением.

0 голосов
/ 14 сентября 2011

Краткий взгляд на Пример SimpleFTP предполагает, что вам нужно использовать имя хоста без префикса ftp://.Также убедитесь, что вы включили разрешение INTERNET в манифест.

...