|
Spring long polling
|
|||
---|---|---|---|
#18+
Привет собссно есть задача сделать некую структуру чато-подобную с реквест-респонзами между клиентом и сервером по условно постоянно поднятому каналу. Как это сделать на вебсокетах вопросов в общем то нет. всё просто. там у спринга есть некий хендлер который каждый раз пробегает когда что то приходит с фронта, ну и наоборот - просто постим ивент в сессию вебсокетовую и фронт его получает.. тепреь с лонг поллингом -- допустим я возвращаю футуру контроллером, теперь у меня цепляется клиент открывает хттп подключение и.... и что? у меня пробегает код и ничего. не пойму никак куда и что мне вкарячить чтоб он ждал ответа и когда ответ готов он его получал (или не получал). или я чот туплю. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 12:22 |
|
Spring long polling
|
|||
---|---|---|---|
#18+
andreykaTчтоб он ждал ответа Чем это отличается от обычного запроса и ответа? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 12:37 |
|
Spring long polling
|
|||
---|---|---|---|
#18+
andreykaT, Обычный polling проще. В js таймер и запрашивай сервер каждые 15 сек. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 12:47 |
|
Spring long polling
|
|||
---|---|---|---|
#18+
andreykaTКак это сделать на вебсокетах вопросов в общем то нет. всё просто.т.е. ищем приключения.... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 13:01 |
|
Spring long polling
|
|||
---|---|---|---|
#18+
Petro123andreykaT, Обычный polling проще. В js таймер и запрашивай сервер каждые 15 сек. проще. но скважность 15 сек это долго. делать 2 секунды это дикий оверхед будет если клиентов вдруг станет больше. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 13:07 |
|
Spring long polling
|
|||
---|---|---|---|
#18+
вадяandreykaTКак это сделать на вебсокетах вопросов в общем то нет. всё просто.т.е. ищем приключения.... не все клиенты умеют вебсокеты это раз. два с вебсокетами возни в других местах есть. в т.ч. при тухлом интернет коннекшене. а так да вс тут выигрывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 13:08 |
|
Spring long polling
|
|||
---|---|---|---|
#18+
andreykaTне все клиенты умеют вебсокеты это раз. два с вебсокетами возни в других местах есть. в т.ч. при тухлом интернет коннекшене. а так да вс тут выигрывает.для тех кто не умеет - есть эмуляция на флэш, ws прекрасно работает на скоростях в 50кб. обрывы также обрабатываются как и в ajax.... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 13:16 |
|
Spring long polling
|
|||
---|---|---|---|
#18+
andreykaTPetro123andreykaT, Обычный polling проще. В js таймер и запрашивай сервер каждые 15 сек. проще. но скважность 15 сек это долго. делать 2 секунды это дикий оверхед будет если клиентов вдруг станет больше.вывести настройку юзверю проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 13:29 |
|
Spring long polling
|
|||
---|---|---|---|
#18+
Вадя, есть же тема для тебя iOS некорректно срабатывает событие onClose WebSocket ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 13:30 |
|
Spring long polling
|
|||
---|---|---|---|
#18+
andreykaT, И не понял логику. Скважность в long polling равна скважности не в long))) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 13:32 |
|
Spring long polling
|
|||
---|---|---|---|
#18+
Petro123Вадя, есть же тема для тебя iOS некорректно срабатывает событие onClose WebSocket там нормально, просто при переходе яблочники не закрывают нормально ws, а обрывают. но это не сказывается на всю работу. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 13:52 |
|
Spring long polling
|
|||
---|---|---|---|
#18+
неее. там другая тема. там у тебя поднимается хттп сессия и висит скажем 10 сек потом приходит респонз 200-тка (скажем пусто). следом сразу же у тебя поднимается хттп сессия и снова так же висит 10 сек и возврат 200. потом сразу же снова поднимается хттп сессия и висит теперь уже 5 секунд потому что на пятой секунде происходит на бэке какое то событие которое генерит сообщение которое и приходит в хттп респонзе, следом снова поднимается хттп сессия на следующие 10 сек (если ничего не случится. или меньше - если случится). т.е. допустим, неполучить условно "сразу" сообщение ты можешь только в промежуток между закрытием предыдущей сессии и открытием следующей (где его ты и получишь). это наихудший случай. если же мы делаем просто реквесты каждые 15 секунд, то этот самый промежуток неполучения у тебя будет уже в худшем случае 15 секунд. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 13:55 |
|
Spring long polling
|
|||
---|---|---|---|
#18+
andreykaT, Не мудри. При long сессия висит. При не long сессия не висит. Но частота опроса одинакова. И сессию новую не надо создавать. Что замудрил то? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 14:08 |
|
Spring long polling
|
|||
---|---|---|---|
#18+
Petro123andreykaT, Не мудри. При long сессия висит. При не long сессия не висит. Но частота опроса одинакова. И сессию новую не надо создавать. Что замудрил то?разумеется. 500 запросов в сек. устраивает? Или пишем на будущее которое никогда не наступит? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 14:12 |
|
Spring long polling
|
|||
---|---|---|---|
#18+
andreykaTесли же мы делаем просто реквесты каждые 15 секунд, то этот самый промежуток неполучения у тебя будет уже в худшем случае 15 секунд. Тьфу)))) вот на текст выше был ответ ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 14:13 |
|
Spring long polling
|
|||
---|---|---|---|
#18+
Petro123andreykaT, Не мудри. При long сессия висит. При не long сессия не висит. Но частота опроса одинакова. И сессию новую не надо создавать. Что замудрил то? при лонге сессия висит или до максимального срока или до наступления события (при котором она закрывается). это главная разница между просто тиканьем по циклу. собссно это главное преимущество перед просто дерганьем эндпойнта по таймеру ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 14:49 |
|
Spring long polling
|
|||
---|---|---|---|
#18+
andreykaTPetro123andreykaT, Не мудри. При long сессия висит. При не long сессия не висит. Но частота опроса одинакова. И сессию новую не надо создавать. Что замудрил то? при лонге сессия висит или до максимального срока или до наступления события (при котором она закрывается). это главная разница между просто тиканьем по циклу. собссно это главное преимущество перед просто дерганьем эндпойнта по таймеру Ну дак все это знают. Мое имхо, что это преимущество не нужно. Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 15:33 |
|
Spring long polling
|
|||
---|---|---|---|
#18+
Petro123Ну дак все это знают. Мое имхо, что это преимущество не нужно. Удачи! Если события генерируются на сервере, то это должно быть более эффективно, чем раз в N секунд делать опрос с клиента + отслеживать отвалившихся клиентов. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 15:37 |
|
Spring long polling
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Про минусы промолчал. Минус в повышенной нагрузке на сервер при long. Соединения то открытыми держим. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 15:48 |
|
Spring long polling
|
|||
---|---|---|---|
#18+
При long запросы не реже 30 сек т.к. таймаут. А при не long каждые 3 сек для чата. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 15:50 |
|
Spring long polling
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsevотслеживать отвалившихсязачем? И там и там ответ на запрос клиента. Только при long мы тормозим сервлет и он тупо стоит пока ответ не засуним)) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 15:53 |
|
Spring long polling
|
|||
---|---|---|---|
#18+
так ну лонгполлинг - это один из подходов для ПОЦ. я смотрю все варианты. мне больше всего нравится та тема с юнидирекшинал вебсокет нотификациями. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 16:30 |
|
Spring long polling
|
|||
---|---|---|---|
#18+
Petro123Соединения то открытыми держим. Х.з. это скорее нагрузка на роутеры/инфраструктуру. Но и то не понятно, что дешевле: или держать открытыми или все время заново переустанавливать. Для сервера: При обычных сокетах - может быть проблема по кол-ву thread на сервере. При NIO - должно быть фиолетово. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 17:03 |
|
Spring long polling
|
|||
---|---|---|---|
#18+
Leonid KudryavtsevХ.з.да) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 17:06 |
|
|
start [/forum/topic.php?fid=59&msg=39675788&tid=2121867]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
68ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 344ms |
total: | 523ms |
0 / 0 |