|
|
|
Таймаут для HTTPUrlConnection
|
|||
|---|---|---|---|
|
#18+
Всем привет! Подскажите пожалуйста как правильно организовать "Heart beat" между клиентом и сервером? Структура приложения такая: HttpUrlconnection -> proxy (таймаут бездействия 1 мин)->tomcat если обработка клиентского запроса выполняется дольше 1 минуты соединение закрывается, потому, что в течении 1 минуты по этому соединению не идут данные. как решить эту проблему? ответ напрашивается сам собой - отправить данные по соединению, но как это сделать правильно не изобретая велосипед (как я люблю). Можно сделать отдельный Thread для обработки каждого request на стороне tomcat но это лишние ресурсы тратить которые не хочется. HttpurlConnection можно заменить на HTTPClient от apache если это решит проблему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2017, 17:56 |
|
||
|
Таймаут для HTTPUrlConnection
|
|||
|---|---|---|---|
|
#18+
Mandarinкак решить эту проблему? а где проблема? Коннект и должен закрываться. Распишите свою проблему эдак на страничку формата A4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2017, 19:04 |
|
||
|
Таймаут для HTTPUrlConnection
|
|||
|---|---|---|---|
|
#18+
Petro123, проблема в том что не должен коннект закрываться до тех пор пока сервер не ответит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2017, 22:12 |
|
||
|
Таймаут для HTTPUrlConnection
|
|||
|---|---|---|---|
|
#18+
Mandarin, бери другой протокол, который не закрывается и держи соединение хоть 8 часов рабочего времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 00:03 |
|
||
|
Таймаут для HTTPUrlConnection
|
|||
|---|---|---|---|
|
#18+
Petro123, какой на пример? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 00:37 |
|
||
|
Таймаут для HTTPUrlConnection
|
|||
|---|---|---|---|
|
#18+
Так понимаю это проблема прокси и ява тут не причем? Если какой-нибудь nginx, то Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 07:16 |
|
||
|
Таймаут для HTTPUrlConnection
|
|||
|---|---|---|---|
|
#18+
MandarinPetro123, какой на пример? Выше же написано - описывай задачу. Или только в прокси проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 08:49 |
|
||
|
Таймаут для HTTPUrlConnection
|
|||
|---|---|---|---|
|
#18+
Petro123, прокси это не проблема. прокси это задача которую надо решить, таймаут на прокси модно поставить любой, но это не выход потому что не безопасно. таймаут бездействия должен быть короткий. задачу надо решать программно. описываю задачу еще раз: надо обмениваться данными между клиентом и сервером пока выполняется обработка запроса на сервере. обмен данными (pin pong или heartbeaet назвать модно примерно так) должен быть в том же соединении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 08:56 |
|
||
|
Таймаут для HTTPUrlConnection
|
|||
|---|---|---|---|
|
#18+
Ну так что мешает? Постоянно с сервера отсылайте клиенту прогресс выполнения. Когда операция завершится - результат. println + flush ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 09:02 |
|
||
|
Таймаут для HTTPUrlConnection
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevНу так что мешает? Постоянно с сервера отсылайте клиенту прогресс выполнения. Когда операция завершится - результат. println + flush ))) я именно так и делал, только однажды полученный и прочитанный InputStream больше не возвращает данные, надо отправлять запрос повторно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 09:58 |
|
||
|
Таймаут для HTTPUrlConnection
|
|||
|---|---|---|---|
|
#18+
Mandarinтаймаут на прокси модно поставить любой, но это не выход потому что не безопасностранное понимание безопасности , websocket (к примеру) открывается однажды и держится пока провод цел, или одна из сторон не отключит. и нет никакой проблемы с безопасностью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 10:05 |
|
||
|
Таймаут для HTTPUrlConnection
|
|||
|---|---|---|---|
|
#18+
вадя, опасность в том что при большом таймауте бездействия можно забить все порты и сервер перестанет отвечать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 10:18 |
|
||
|
Таймаут для HTTPUrlConnection
|
|||
|---|---|---|---|
|
#18+
MandarinPetro123, какой на пример? ТСР, UDP, наследники на них. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 11:21 |
|
||
|
Таймаут для HTTPUrlConnection
|
|||
|---|---|---|---|
|
#18+
Для таких целей надо использовать соответствующие инструменты, а не городить свистелки-перделки. Возьми JMX (под тот же Apache ActiveMQ, например, есть куча куда протоколов и коннекторов) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 11:24 |
|
||
|
Таймаут для HTTPUrlConnection
|
|||
|---|---|---|---|
|
#18+
JMS* ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 11:25 |
|
||
|
Таймаут для HTTPUrlConnection
|
|||
|---|---|---|---|
|
#18+
Mandarin, Ping pong это значит каждую минуту слать запрос: Готово? Готово? .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 11:25 |
|
||
|
Таймаут для HTTPUrlConnection
|
|||
|---|---|---|---|
|
#18+
Mandarinопасность в том что при большом таймауте бездействия можно забить все порты и сервер перестанет отвечатьты это серьёзно? у тебя 60 000 подключений? 60 000 юзеров одновременно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 20:12 |
|
||
|
Таймаут для HTTPUrlConnection
|
|||
|---|---|---|---|
|
#18+
MandarinLeonid KudryavtsevНу так что мешает? Постоянно с сервера отсылайте клиенту прогресс выполнения. Когда операция завершится - результат. println + flush ))) я именно так и делал, только однажды полученный и прочитанный InputStream больше не возвращает данные, надо отправлять запрос повторно. Это как так? Как он может быть "прочитанный" если сервлет еще работу не завершил и соединение не закрыл. Ну или действительно, на стороне сервера делать что-то типа пула Job'ов и соответственно инструменты (запросы, админка), что бы в этот пул ставить Job'и, получать их результат и контролировать работу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 21:16 |
|
||
|
Таймаут для HTTPUrlConnection
|
|||
|---|---|---|---|
|
#18+
MandarinСтруктура приложения такая: HttpUrlconnection -> proxy (таймаут бездействия 1 мин)->tomcatПолезные рекомендации: HTTP Persistent Connections ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 21:36 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39471297&tid=2122845]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 256ms |
| total: | 375ms |

| 0 / 0 |
