powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring long polling
25 сообщений из 58, страница 1 из 3
Spring long polling
    #39675572
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет собссно есть задача сделать некую структуру чато-подобную с реквест-респонзами между клиентом и сервером по условно постоянно поднятому каналу.

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

тепреь с лонг поллингом -- допустим я возвращаю футуру контроллером, теперь у меня цепляется клиент открывает хттп подключение и....
и что? у меня пробегает код и ничего. не пойму никак куда и что мне вкарячить чтоб он ждал ответа и когда ответ готов он его получал (или не получал).

или я чот туплю.
...
Рейтинг: 0 / 0
Spring long polling
    #39675582
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTчтоб он ждал ответа
Чем это отличается от обычного запроса и ответа?
...
Рейтинг: 0 / 0
Spring long polling
    #39675585
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Обычный polling проще. В js таймер и запрашивай сервер каждые 15 сек.
...
Рейтинг: 0 / 0
Spring long polling
    #39675595
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTКак это сделать на вебсокетах вопросов в общем то нет. всё просто.т.е. ищем приключения....
...
Рейтинг: 0 / 0
Spring long polling
    #39675601
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123andreykaT,
Обычный polling проще. В js таймер и запрашивай сервер каждые 15 сек.
проще. но скважность 15 сек это долго.
делать 2 секунды это дикий оверхед будет если клиентов вдруг станет больше.
...
Рейтинг: 0 / 0
Spring long polling
    #39675602
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяandreykaTКак это сделать на вебсокетах вопросов в общем то нет. всё просто.т.е. ищем приключения....
не все клиенты умеют вебсокеты это раз. два с вебсокетами возни в других местах есть. в т.ч. при тухлом интернет коннекшене. а так да вс тут выигрывает.
...
Рейтинг: 0 / 0
Spring long polling
    #39675605
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTне все клиенты умеют вебсокеты это раз. два с вебсокетами возни в других местах есть. в т.ч. при тухлом интернет коннекшене. а так да вс тут выигрывает.для тех кто не умеет - есть эмуляция на флэш, ws прекрасно работает на скоростях в 50кб. обрывы также обрабатываются как и в ajax....
...
Рейтинг: 0 / 0
Spring long polling
    #39675622
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTPetro123andreykaT,
Обычный polling проще. В js таймер и запрашивай сервер каждые 15 сек.
проще. но скважность 15 сек это долго.
делать 2 секунды это дикий оверхед будет если клиентов вдруг станет больше.вывести настройку юзверю проблема?
...
Рейтинг: 0 / 0
Spring long polling
    #39675624
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Spring long polling
    #39675627
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
И не понял логику. Скважность в long polling равна скважности не в long)))
...
Рейтинг: 0 / 0
Spring long polling
    #39675642
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Вадя, есть же тема для тебя
iOS некорректно срабатывает событие onClose WebSocket там нормально, просто при переходе яблочники не закрывают нормально ws, а обрывают. но это не сказывается на всю работу.
...
Рейтинг: 0 / 0
Spring long polling
    #39675645
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
неее. там другая тема. там у тебя поднимается хттп сессия и висит скажем 10 сек потом приходит респонз 200-тка (скажем пусто). следом сразу же у тебя поднимается хттп сессия и снова так же висит 10 сек и возврат 200. потом сразу же снова поднимается хттп сессия и висит теперь уже 5 секунд потому что на пятой секунде происходит на бэке какое то событие которое генерит сообщение которое и приходит в хттп респонзе, следом снова поднимается хттп сессия на следующие 10 сек (если ничего не случится. или меньше - если случится).

т.е. допустим, неполучить условно "сразу" сообщение ты можешь только в промежуток между закрытием предыдущей сессии и открытием следующей (где его ты и получишь). это наихудший случай.

если же мы делаем просто реквесты каждые 15 секунд, то этот самый промежуток неполучения у тебя будет уже в худшем случае 15 секунд.
...
Рейтинг: 0 / 0
Spring long polling
    #39675651
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Не мудри.
При long сессия висит. При не long сессия не висит.
Но частота опроса одинакова.
И сессию новую не надо создавать.
Что замудрил то?
...
Рейтинг: 0 / 0
Spring long polling
    #39675654
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123andreykaT,
Не мудри.
При long сессия висит. При не long сессия не висит.
Но частота опроса одинакова.
И сессию новую не надо создавать.
Что замудрил то?разумеется.
500 запросов в сек. устраивает?
Или пишем на будущее которое никогда не наступит?
...
Рейтинг: 0 / 0
Spring long polling
    #39675656
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTесли же мы делаем просто реквесты каждые 15 секунд, то этот самый промежуток неполучения у тебя будет уже в худшем случае 15 секунд.
Тьфу)))) вот на текст выше был ответ
...
Рейтинг: 0 / 0
Spring long polling
    #39675693
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123andreykaT,
Не мудри.
При long сессия висит. При не long сессия не висит.
Но частота опроса одинакова.
И сессию новую не надо создавать.
Что замудрил то?

при лонге сессия висит или до максимального срока или до наступления события (при котором она закрывается). это главная разница между просто тиканьем по циклу.

собссно это главное преимущество перед просто дерганьем эндпойнта по таймеру
...
Рейтинг: 0 / 0
Spring long polling
    #39675725
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTPetro123andreykaT,
Не мудри.
При long сессия висит. При не long сессия не висит.
Но частота опроса одинакова.
И сессию новую не надо создавать.
Что замудрил то?

при лонге сессия висит или до максимального срока или до наступления события (при котором она закрывается). это главная разница между просто тиканьем по циклу.

собссно это главное преимущество перед просто дерганьем эндпойнта по таймеру
Ну дак все это знают.
Мое имхо, что это преимущество не нужно.
Удачи!
...
Рейтинг: 0 / 0
Spring long polling
    #39675730
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Ну дак все это знают.
Мое имхо, что это преимущество не нужно.
Удачи!
Если события генерируются на сервере, то это должно быть более эффективно, чем раз в N секунд делать опрос с клиента + отслеживать отвалившихся клиентов.
...
Рейтинг: 0 / 0
Spring long polling
    #39675740
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,
Про минусы промолчал.
Минус в повышенной нагрузке на сервер при long.
Соединения то открытыми держим.
...
Рейтинг: 0 / 0
Spring long polling
    #39675744
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При long запросы не реже 30 сек т.к. таймаут.
А при не long каждые 3 сек для чата.
...
Рейтинг: 0 / 0
Spring long polling
    #39675745
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsevотслеживать отвалившихсязачем?
И там и там ответ на запрос клиента.
Только при long мы тормозим сервлет и он тупо стоит пока ответ не засуним))
...
Рейтинг: 0 / 0
Spring long polling
    #39675764
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так ну лонгполлинг - это один из подходов для ПОЦ. я смотрю все варианты.

мне больше всего нравится та тема с юнидирекшинал вебсокет нотификациями.
...
Рейтинг: 0 / 0
Spring long polling
    #39675786
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Соединения то открытыми держим.
Х.з.
это скорее нагрузка на роутеры/инфраструктуру. Но и то не понятно, что дешевле: или держать открытыми или все время заново переустанавливать.

Для сервера:
При обычных сокетах - может быть проблема по кол-ву thread на сервере. При NIO - должно быть фиолетово.
...
Рейтинг: 0 / 0
Spring long polling
    #39675788
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevХ.з.да)
...
Рейтинг: 0 / 0
Spring long polling
    #39675856
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чото меня корчит от американизмов. Не лучше ли писать handling, future, polling?
...
Рейтинг: 0 / 0
25 сообщений из 58, страница 1 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring long polling
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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