Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/100: Рейтинг темы: голосов - 100, средняя оценка - 4.89
3 / 3 / 0
Регистрация: 29.11.2013
Сообщений: 89
1

Что такое java.net.SocketTimeoutException: ?

01.01.2014, 04:48. Показов 20839. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
При парсинге сайта, когда выбрал уже две трети от нужных информации NetBeans выдает следующее

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Exception in thread "main" java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:152)
    at java.net.SocketInputStream.read(SocketInputStream.java:122)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
    at sun.net.[url]www.http.HttpClient.parseHTTPHeader(HttpClient.java:687[/url])
    at sun.net.[url]www.http.HttpClient.parseHTTP(HttpClient.java:633[/url])
    at sun.net.[url]www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1323[/url])
    at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
    at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:443)
    at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:424)
    at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:178)
    at org.jsoup.helper.HttpConnection.get(HttpConnection.java:167)
    at parser.main(parser.java:62)
Java Result: 1
СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 9 минуты 22 секунды)
В чем может быть затык и как его обойти?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.01.2014, 04:48
Ответы с готовыми решениями:

Что такое java + android
Добрый день. Хочу как начинающий выяснить что такое разработка под android, а именно: - android...

Что такое Java? Стоит ли изучать?
Здравствуйте. Никогда не имел дела с этим языком. А тут заинтересовался. Всё чаще в кругах...

Что такое Instance (инстансы) в Java?
Добрый день! Недавно начал изучать Java (по урокам Hexlet), и столкнулся с таким вопросом: "Что...

Что такое асинхронный вызов и как его осуществить в java ?
Понял, что не совсем понимаю, что такое асинхронный вызов. Одно время мне казалось, что...

4
ɐwʎ ɔ vǝmоɔ dиw ɐʚонɔ
443 / 442 / 100
Регистрация: 14.10.2012
Сообщений: 1,146
Записей в блоге: 9
01.01.2014, 20:04 2
1) увеличить время ожидания
2) ловить через try/catch и принимать решение что делать (либо в повторный вызов ставить, либо игнорировать если не принципиально)

Добавлено через 1 минуту
и такой вопрос, вы каждый элемент дергаете с повторным запросом? спарсите текст страницы в переменную, а уже потом его "штрудируйте" на куски
1
3 / 3 / 0
Регистрация: 29.11.2013
Сообщений: 89
01.01.2014, 23:43  [ТС] 3
tankomaz, мои вопросы позвольте задать пару нубских вопросов..
1. Как увеличить время ожидания
2. Где лучше почитать про try/catch, так сказать для начинающих?

3. Вроде так и делаю, правда собираю данные в цикле с примерно 5000 страниц

Java
1
2
3
4
// получаю страницу в цикле (их примерно 5000)
doc3 = Jsoup.connect(ХHref).get();
// получаю нужные элементы
Elements link = doc3.getElementsByClass("tolink");
Или все же не так?

Добавлено через 18 минут
Про задержку вроде нашел
Java
1
doc3 = Jsoup.connect(ХHref).timeout(10*1000).get();
Но, если это применить ко всем страницам, то времени для парсинга потребуется...
5000 * 10/60/60 = 13,9 часов
Жесть...
Будет ли эффективней использовать try/catch?
0
Эксперт Java
4092 / 3826 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
02.01.2014, 01:17 4
таймут не означает, что каждый запрос будет выполняться столько.
Это всего лишь лимит, после которого считается, что сервер недоступен.
1
3 / 3 / 0
Регистрация: 29.11.2013
Сообщений: 89
02.01.2014, 02:30  [ТС] 5
Какой лучше выставить?

Добавлено через 28 минут
Решено...
0
02.01.2014, 02:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.01.2014, 02:30
Помогаю со студенческими работами здесь

java.lang.VerifyError и Log4j кто нибудь знает что это такое ?
Следуюший метод кода генерирует ошибку, природы котороя я даже теоретически не могу представить....

у .Net есть MSDN . Что есть у Java?
Подскажите мощную справочную систему по жаве и всем существующим на сегодняшний день её технологиям...

Какую версию Java поддерживает .Net Java# И какую VS6.0 Java++ ?
Какую версию Java поддерживает .Net Java# И какую VS6.0 Java++ ? Ответье, плиз, новичку, по MSDN...

Что такое |= в java?
Уважаемые киберфорумцы, встретил такой код:// ставим флаг, чтобы уведомление пропало после нажатия...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru