97 / 4 / 0
Регистрация: 09.05.2015
Сообщений: 70

Таймаут для загрузки контента с удалённых web-ресурсов

22.09.2017, 15:46. Показов 977. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я осуществляю загрузку определённого текстового и бинарного контента с удалённых web-ресурсов.

Мне нужно предусмотреть вариант, когда физически коннект к удалённому web-ресурсу есть, а скачать с него необходимые файлы не удаётся.

Это может происходить, когда доступ к удалённым web-ресурсам осуществляется по мобильной сети с плохим соединением.

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

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

Для меня это очень длительное время.

Мне нужно установить, чтобы исключение вызывалось через 10 сек в случае отсутствия возможности доступа к контенту на удалённых web-ресурсах.

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

Так, что рассматривается случай, когда соединение есть, но из-за плохого соединения не удаётся в течении заданного таймаута получить необходимый отклик для загрузки содержимого запрашиваемых файлов.

Так как мне задать таймаут при осуществлении загрузки текстового и бинарного контента с удалённых web-ресурсов для приведенных ниже 2-х методов?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package com.PowerGameEnergetic.CityCarRun;
 
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
 
public class WebDownloader
{
  public static String StringFileContent;
  public static boolean StringFileIsDownloaded;
  public static byte[] BinaryFileContent;
  public static boolean BinaryFileIsDownloaded;
  
  public static void readStringFileContent(String urlString)
  {
    StringFileContent = "";
    StringFileIsDownloaded = false;
    try
    {
      URL Url = new URL(urlString);
      
      InputStream inputStream = Url.openStream();
      InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
      BufferedReader in = new BufferedReader(inputStreamReader);
      
      StringBuilder response = new StringBuilder();
      String inputLine;
      while ((inputLine = in.readLine()) != null)
      {
        String inputLine;
        response.append(inputLine);
      }
      in.close();
      
      StringFileContent = response.toString();
      StringFileIsDownloaded = true;
    }
    catch (Exception localException) {}
  }
  
  public static void readBinaryFileContent(String urlString)
  {
    BinaryFileContent = new byte[0];
    BinaryFileIsDownloaded = false;
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    try
    {
      URL Url = new URL(urlString);
      InputStream inputStream = Url.openStream();
      
      byte[] chunk = new byte['?'];
      int bytesRead;
      while ((bytesRead = inputStream.read(chunk)) > 0)
      {
        int bytesRead;
        outputStream.write(chunk, 0, bytesRead);
      }
      BinaryFileContent = outputStream.toByteArray();
      BinaryFileIsDownloaded = true;
    }
    catch (Exception localException) {}
  }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.09.2017, 15:46
Ответы с готовыми решениями:

Срабатывание таймаута при загрузке данных с удалённых web-ресурсов
Я осуществляю загрузку определённого текстового и бинарного контента с удалённых web-ресурсов. Мне нужно предусмотреть вариант, когда...

Таймаут загрузки webbrowser
В общем загружаю сайт с использованием прокси, нужно знать, рабочие-ли прокси. Пробуем загрузить страницу и если в течении 20 сек ничего не...

Написать клиент для загрузки сетевых ресурсов на диск
Нужно написать клиент для загрузки сетевых ресурсов на диск. Как это сделать для загрузки ресурсов с форматом pdf? на с++.Помогите(

3
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,780
22.09.2017, 18:16
InessaSuper, примеров же полно в сети. У класса URLConnection есть пара замечательных методов.
1
97 / 4 / 0
Регистрация: 09.05.2015
Сообщений: 70
25.09.2017, 08:29  [ТС]
По какой-то непонятной причине использование 2-х этих замечательных методов не срабатывает, когда я задаю необходимые мне таймауты при запуске под Андроидом.

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

Я открыла соответствующую тему в ветке форума про Андроид.

Срабатывание таймаута при загрузке данных с удалённых web-ресурсов - Программирование Android
Срабатывание таймаута при загрузке данных с удалённых web-ресурсов

Подскажите, пожалуйста, в чём тут может быть дело?

В чём может заключаться причина описанного артефакта в работе этих методов под Андроидом и как её можно устранить?
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,780
26.09.2017, 23:05
Цитата Сообщение от InessaSuper Посмотреть сообщение
Подскажите, пожалуйста, в чём тут может быть дело?
Не программирую под Андроид, но, возможно, стоит посмотреть в документацию Android SDK или как оно у них там называется.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.09.2017, 23:05
Помогаю со студенческими работами здесь

Задать таймаут загрузки страницы cURL
Здравствуйте, уважаемые форумчане!:) Забираю страницу с помощью curl, но так как данные там подгружаются уже в загруженную страницу в...

Чтение в ed удалённых ресурсов по HTTP или FTP
subj возможно? И как? Если прямыми средствами невозможно, то как можно открыть удалённый ресурс чем-нибудь для скачивания через...

Функция быстрее file_get_contents() для загрузки из web
Пишу rss-агрегатор. Даже при небольшом количестве добавленных rss, время загрузки ощутимо. Именно из-за file_get_contents(). Есть ли способ...

Функция 18+ - не допускать загрузки контента "для взрослых"
Здраствуйте помогите пожалуйста с функцией Что нужно сделать чтобы при загрузке файла добавить такой код чтобы если добавляют к...

Как из Web приложения на c# вызвать диалог для загрузки файла на ASP сервер?
Товарищи как из Web приложения на c# вызвать диалог для загрузки файла на ASP сервер? Сама загрузка делается через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru