Я пытаюсь узнать, как подключить свое приложение к определенному FTP-серверу. Для этой цели я использую сеть Apache Commons, которая довольно хороша. Пока мне удалось подключить свое приложение к FTP-серверу, пока я подключен к WiFi. Пока я подключен к Wi-Fi, он подключается и входит в систему без проблем, однако, когда я пытаюсь подключить свой FTP-сервер к своей сотовой сети, он выдает ошибку тайм-аута соединения. Сначала я подумал об этом из-за скорости моей сотовой сети. Поэтому я увеличил тайм-аут, чтобы дать моей сотовой сети гораздо больше времени для подключения, но это не сработало. Я имею в виду, что это в основном не работает. Вот код, который я использую. Это класс, расширенный AsyncTask.
@Override
protected String doInBackground(String[] params) {
String temp = "Files : \n";
FTPClient client = new FTPClient();
client.setConnectTimeout(360 * 1000);
client.setDefaultTimeout(360 * 1000);
try {
Log.d("FtpDebug", "Connecting ...");
client.connect(myftpservername);
client.enterLocalPassiveMode();
Log.d("FtpDebug","Connected!");
}catch (Exception e){
Log.d("FtpError", e.toString());
}
Я сказал, что это не работает, потому что это дает мне эту ошибку
D/FtpError: java.net.SocketTimeoutException: не удалось подключиться к xxx.xx.xxxx.xx.xx/xxx.xxx.xx.x (порт 21) через 360000 мс: isConnected не удалось: ETIMEDOUT (время ожидания подключения истекло)
В этой ошибке говорится, что не удалось подключиться после попытки 360 000 мс = 6 минут. Но на самом деле я получаю эту ошибку через 1 минуту или менее 1 минуты. Так что это даже не 6 минут ожидания.
Понятно, что я делаю что-то не так. Я был бы очень рад, если бы кто-то указал на это. Спасибо.