powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Таймаут для HTTPUrlConnection
19 сообщений из 19, страница 1 из 1
Таймаут для HTTPUrlConnection
    #39471096
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет! Подскажите пожалуйста как правильно организовать "Heart beat" между клиентом и сервером?

Структура приложения такая:
HttpUrlconnection -> proxy (таймаут бездействия 1 мин)->tomcat

если обработка клиентского запроса выполняется дольше 1 минуты соединение закрывается, потому, что в течении 1 минуты по этому соединению не идут данные.

как решить эту проблему? ответ напрашивается сам собой - отправить данные по соединению, но как это сделать правильно не изобретая велосипед (как я люблю).
Можно сделать отдельный Thread для обработки каждого request на стороне tomcat но это лишние ресурсы тратить которые не хочется.

HttpurlConnection можно заменить на HTTPClient от apache если это решит проблему.
...
Рейтинг: 0 / 0
Таймаут для HTTPUrlConnection
    #39471126
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarinкак решить эту проблему?
а где проблема? Коннект и должен закрываться.
Распишите свою проблему эдак на страничку формата A4.
...
Рейтинг: 0 / 0
Таймаут для HTTPUrlConnection
    #39471182
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

проблема в том что не должен коннект закрываться до тех пор пока сервер не ответит.
...
Рейтинг: 0 / 0
Таймаут для HTTPUrlConnection
    #39471206
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarin,
бери другой протокол, который не закрывается и держи соединение хоть 8 часов рабочего времени.
...
Рейтинг: 0 / 0
Таймаут для HTTPUrlConnection
    #39471211
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

какой на пример?
...
Рейтинг: 0 / 0
Таймаут для HTTPUrlConnection
    #39471228
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так понимаю это проблема прокси и ява тут не причем? Если какой-нибудь nginx, то

Код: plaintext
1.
2.
3.
proxy_connect_timeout       300;
proxy_send_timeout          300;
proxy_read_timeout          300;
send_timeout                300;
...
Рейтинг: 0 / 0
Таймаут для HTTPUrlConnection
    #39471264
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MandarinPetro123,
какой на пример?
Выше же написано - описывай задачу.
Или только в прокси проблема?
...
Рейтинг: 0 / 0
Таймаут для HTTPUrlConnection
    #39471269
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

прокси это не проблема. прокси это задача которую надо решить, таймаут на прокси модно поставить любой, но это не выход потому что не безопасно. таймаут бездействия должен быть короткий. задачу надо решать программно. описываю задачу еще раз:
надо обмениваться данными между клиентом и сервером пока выполняется обработка запроса на сервере. обмен данными (pin pong или heartbeaet назвать модно примерно так) должен быть в том же соединении.
...
Рейтинг: 0 / 0
Таймаут для HTTPUrlConnection
    #39471273
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так что мешает?

Постоянно с сервера отсылайте клиенту прогресс выполнения. Когда операция завершится - результат.

println + flush )))
...
Рейтинг: 0 / 0
Таймаут для HTTPUrlConnection
    #39471297
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevНу так что мешает?

Постоянно с сервера отсылайте клиенту прогресс выполнения. Когда операция завершится - результат.

println + flush )))

я именно так и делал, только однажды полученный и прочитанный InputStream больше не возвращает данные, надо отправлять запрос повторно.
...
Рейтинг: 0 / 0
Таймаут для HTTPUrlConnection
    #39471299
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarinтаймаут на прокси модно поставить любой, но это не выход потому что не безопасностранное понимание безопасности , websocket (к примеру) открывается однажды и держится пока провод цел, или одна из сторон не отключит. и нет никакой проблемы с безопасностью.
...
Рейтинг: 0 / 0
Таймаут для HTTPUrlConnection
    #39471311
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

опасность в том что при большом таймауте бездействия можно забить все порты и сервер перестанет отвечать
...
Рейтинг: 0 / 0
Таймаут для HTTPUrlConnection
    #39471385
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MandarinPetro123,

какой на пример?
ТСР, UDP, наследники на них.
...
Рейтинг: 0 / 0
Таймаут для HTTPUrlConnection
    #39471391
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для таких целей надо использовать соответствующие инструменты, а не городить свистелки-перделки. Возьми
JMX (под тот же Apache ActiveMQ, например, есть куча куда протоколов и коннекторов)
...
Рейтинг: 0 / 0
Таймаут для HTTPUrlConnection
    #39471393
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JMS*
...
Рейтинг: 0 / 0
Таймаут для HTTPUrlConnection
    #39471394
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarin,
Ping pong это значит каждую минуту слать запрос: Готово? Готово? ....
...
Рейтинг: 0 / 0
Таймаут для HTTPUrlConnection
    #39471735
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarinопасность в том что при большом таймауте бездействия можно забить все порты и сервер перестанет отвечатьты это серьёзно? у тебя 60 000 подключений? 60 000 юзеров одновременно?
...
Рейтинг: 0 / 0
Таймаут для HTTPUrlConnection
    #39471757
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MandarinLeonid KudryavtsevНу так что мешает?

Постоянно с сервера отсылайте клиенту прогресс выполнения. Когда операция завершится - результат.

println + flush )))

я именно так и делал, только однажды полученный и прочитанный InputStream больше не возвращает данные, надо отправлять запрос повторно.
Это как так?
Как он может быть "прочитанный" если сервлет еще работу не завершил и соединение не закрыл.

Ну или действительно, на стороне сервера делать что-то типа пула Job'ов и соответственно инструменты (запросы, админка), что бы в этот пул ставить Job'и, получать их результат и контролировать работу.
...
Рейтинг: 0 / 0
Таймаут для HTTPUrlConnection
    #39471767
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MandarinСтруктура приложения такая:
HttpUrlconnection -> proxy (таймаут бездействия 1 мин)->tomcatПолезные рекомендации: HTTP Persistent Connections
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Таймаут для HTTPUrlConnection
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]