Имя: Пароль:
IT
 
Android ftp клиент
0 alexandr_87
 
08.08.18
13:03
Добрый день, может вопрос не сюда, о может кто нибудь встречал такую проблему. Разрабатываю приложение на андроиде, и одна из возможностей это скидывание файлов на сервер через фтп клиент, использую библиотеку от апчача. Проблема в том что при плохо интернет соединение timeout не срабатывает хотя он указан  и приложение зависает.
Пример из кода:

   FTPClient ftpClient = new FTPClient();
                ftpClient.setConnectTimeout(2000);
                try {
                    InetAddress host = InetAddress.getByName(server);
                    ftpClient.connect(host, port);

УЖЕ ПЕРЕПРОБОВАЛ КУЧА ВАРИАНТОВ, НЕ ПОМОГАЕТ. СПАСИБО.
1 Вафель
 
08.08.18
13:05
Делай в отдельном потоке
2 alexandr_87
 
08.08.18
13:07
У меня и делается в отдельном потоке.
вот вырезка кода. может чет не верно сделал:
    Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        // TODO Auto-generated method stub

        FetchUrl fetchUrl=new FetchUrl();
        fetchUrl.execute();
        return START_STICKY;
    }

    private class FetchUrl extends AsyncTask<Void, Void, Boolean> {

        Override
        protected Boolean doInBackground(Void... params) {

            try {
                ExportData dataExchange = new ExportData(getApplicationContext());
                Date currentTime = Calendar.getInstance().getTime();
                String format1 = new SimpleDateFormat("yyyyMMddHHmmssSSS", Locale.ENGLISH).format(currentTime);
                dataExchange.export_data(String.valueOf(format1).replace(":", "_"));
            } catch (Exception e) {
                return false;
            }
            return true;
        }

    }
3 Necessitudo
 
08.08.18
13:11
Ты бы еще лоадеры использовал
4 Necessitudo
 
08.08.18
13:14
А что значит "приложение зависает"?
5 alexandr_87
 
08.08.18
13:16
Зависает(пытается подключится к серверу) и через определенное время получаю Application not responding.
6 Necessitudo
 
08.08.18
13:19
(5) То есть что-то выполняется в главном потоке?
7 alexandr_87
 
08.08.18
13:24
Похоже на то, но уже копаю и никак не могу найти причину, сложность еще в том что не могу нормально "симулировать плохой мобильный интернет"
8 Necessitudo
 
08.08.18
13:28
9 alexandr_87
 
08.08.18
13:34
Так Пробовал, оказалась что такая скорость достаточно чтобы подключился, по рассказам пользователей некоторые находится в таких местах что сети вообще нету, но так как передача данных включена, служба пытается выполнить задажу
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший