powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring long polling
58 сообщений из 58, показаны все 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
Spring long polling
    #39675857
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если от жаргонных калек, то, может, лучше обработка, future, опрос?
...
Рейтинг: 0 / 0
Spring long polling
    #39675870
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пожалуй нет. Контекст восприятия другой.
...
Рейтинг: 0 / 0
Spring long polling
    #39675875
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevPetro123Соединения то открытыми держим.
Х.з.
это скорее нагрузка на роутеры/инфраструктуру. Но и то не понятно, что дешевле: или держать открытыми или все время заново переустанавливать.

Для сервера:
При обычных сокетах - может быть проблема по кол-ву thread на сервере. При NIO - должно быть фиолетово.
простите, расшифруйте плиз НИО.
...
Рейтинг: 0 / 0
Spring long polling
    #39675882
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonКонтекст восприятия другой.Нормальный контекст, если адекватно строить русские предложения

P.S.
future - отложенны результат
...
Рейтинг: 0 / 0
Spring long polling
    #39675883
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTрасшифруйте плиз НИО. Since 1.4 .
Документацию совсем не читаем?
...
Рейтинг: 0 / 0
Spring long polling
    #39675920
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я знаю что такое нио, я не понял какое отношение это имеет к обсуждаемым вебсокетам и длинным хттп реквестам. вот и переспросил.
...
Рейтинг: 0 / 0
Spring long polling
    #39676025
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, "к обсуждаемым" относятся, скорее асинхронные сервлеты , чем NIO.
...
Рейтинг: 0 / 0
Spring long polling
    #39676227
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTдлинным хттп реквестам
я на практике использовал
https://hc.apache.org/
...
Рейтинг: 0 / 0
Spring long polling
    #39679333
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...продолжаю копать... чот я туплю с этими футурами и ивентами.

допустим... юзер по лонгполлу зацепился к бэку на 10 сек. висим 10 сек. тут на 5-й секунде происходит евент и в футуру заворачиваем сообщение. отдаем. всё хорошо. следом коннекшн закрывается.. следом появляется новое сообщение для юзера. но он еще не успел переподключиться по лонгполлингу заново. и тут сюрпрайз - стартует новая сессия.. и... как ему узнать что для него появилось новое сообщение?
вариант а) -- после реестаблиша хттп сессии - пулим базу - находим новое анрид анделиверед мессадж - возвращаем. все рады.
плюсы решения - оно работает.
минусы решения - оно жрет ресурсы базы, т.к. каждый раз стучаться каждые 10 сек в базу селектом - там себе барахло.
вариант б) -- неким чудом мы держим сообщение в очереди на предмет доставки листенеру и соответственно когда поднимается хттп коннекшн мы сразу же из очереди его отдаем сервису что вернет его контроллеру.
плюсы решения - ну.. мы не стучимся в базу. это здорово.
минусы решения - как это сделать? прикручивать MQ?? а без этого можно как-то обойтись?
...
Рейтинг: 0 / 0
Spring long polling
    #39679335
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я тут нашел вроде как реализацию МК на редисе.. ранее работал с редисовским пабсабом но вот с очередью нет.. я так понимаю из коробки этого нету и нужно самому руками писать. никто не сталкивался?
...
Рейтинг: 0 / 0
Spring long polling
    #39679379
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTне все клиенты умеют вебсокеты это раз.интересно что за клиенты у тебя, что не умеют?
andreykaTдва с вебсокетами возни в других местах естьпереисли, плиз
andreykaTв т.ч. при тухлом интернет коннекшенечто подразумевается под тухлым?
...
Рейтинг: 0 / 0
Spring long polling
    #39679416
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTследом коннекшн закрывается..не путай коннек ajax и сессию юзверя.
...
Рейтинг: 0 / 0
Spring long polling
    #39679480
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяandreykaTне все клиенты умеют вебсокеты это раз.интересно что за клиенты у тебя, что не умеют?
andreykaTдва с вебсокетами возни в других местах естьпереисли, плиз
andreykaTв т.ч. при тухлом интернет коннекшенечто подразумевается под тухлым?
это означает что у тебя хост пингуется с потерями пакетов до 75%
...
Рейтинг: 0 / 0
Spring long polling
    #39679481
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123andreykaTследом коннекшн закрывается..не путай коннек ajax и сессию юзверя.
я говорю о физическом уровне тцп, когда хттп коннекшн открывается с посылкой всех хадаров и тп. а потом закрывается с возвратом всего пайлоада.
...
Рейтинг: 0 / 0
Spring long polling
    #39679493
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTэто означает что у тебя хост пингуется с потерями пакетов до 75%а ты пробовал ws на таком подключении?
я делал опыт - просто вынимал провод на некоторое время и втыкал - всё проходило, данные не терялись. видимо передающая сторона накапливала буфер и потом выстреливала.
если передаваемые данные меньше какого-то размера - потерь не будет.
потери начнутся когда буфер передачи переполнится, пинг с 75% - вполне достаточен для чата.
...
Рейтинг: 0 / 0
Spring long polling
    #39679497
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
этот вариант тоже рассматривается. я все варианты подбираю. просто в отличии от ВС к ЛП есть вопросы. с ВС всё понятно. там любой школьник справится.
...
Рейтинг: 0 / 0
Spring long polling
    #39679503
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,

есть клиент , который постоянно передаёт пакеты измерения весь пакет состоит из 6 служебных байт и до 4 информационных. постоянное отключение 4-5сек - подключение сетевого шнурка не приводит к потери данных .
специально проверил.
...
Рейтинг: 0 / 0
Spring long polling
    #39679504
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTпросто в отличии от ВС к ЛП есть вопросы. с ВС всё понятно. там любой школьник справится.зачем тогда искать приключения?
...
Рейтинг: 0 / 0
Spring long polling
    #39679579
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяandreykaTпросто в отличии от ВС к ЛП есть вопросы. с ВС всё понятно. там любой школьник справится.зачем тогда искать приключения?человек развивается. У тебя это искать приключения))
...
Рейтинг: 0 / 0
Spring long polling
    #39679582
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTPetro123пропущено...
не путай коннек ajax и сессию юзверя.
я говорю о физическом уровне тцп, когда хттп коннекшн открывается с посылкой всех хадаров и тп. а потом закрывается с возвратом всего пайлоада.теперь давай на уровне программиста.
- ajax каждые 20 сек открывает запрос и ждет ответ.
Код давай.
Сервлет не отвечает сразу, а рандомно отвечает то на первой сек, то на второй, то...
Код давай.
...
Рейтинг: 0 / 0
Spring long polling
    #39679792
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123вадяпропущено...
зачем тогда искать приключения?человек развивается. У тебя это искать приключения))
изучать отмирающее - развитие?
...
Рейтинг: 0 / 0
Spring long polling
    #39679805
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяизучать отмирающее - развитие?
Imho допиши
...
Рейтинг: 0 / 0
Spring long polling
    #39679925
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123- ajax каждые 20 сек открывает запрос и ждет ответ.что он дождётся при пинговых потерях в 75% ?

у меня ws при обрыве в 10 сек - не потерял данные....
...
Рейтинг: 0 / 0
Spring long polling
    #39679968
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадячто он дождётся при пинговых потерях в 75% ?во первых в двухстороннем канале тоже пинги и двухсторонняя служебная пересылка.
Во вторых, у тебя машина есть? Потери на бензин однако).
В третьих, потери в пинги ты считаешь в штуках? Или в градусах?
Раньше у тя только скорость была в критериях.
...
Рейтинг: 0 / 0
Spring long polling
    #39679969
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяу меня ws при обрыве в 10 сек - не потерял данные....тогда тут выложи решение
iOS некорректно срабатывает событие onClose WebSocket
...
Рейтинг: 0 / 0
Spring long polling
    #39679986
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123В третьих, потери в пинги ты считаешь в штуках? Или в градусах?если ты при пинге разомкнёшь цепь - у тебя полезет ошибка сразу. и если ты начнешь пинговать в эти 10 сек у тебя будут 100% потерь. при ws потерь 100% не получилось. хотя измерительное устройство отправляло данные постоянно.
поэтому потери в 75% пинга величина относительная.
Petro123тогда тут выложи решениетам у чела свои тараканы. я предложил варианты.
если б яблочный прибор был в руках - погонял/поисследовал...
Petro123Раньше у тя только скорость была в критериях.она и счас осталась. появилась возможность оценить на качество связи - вот и это добавилось.
была бы реальная сетка с 75% потерями пинга - были бы реальные данные.
если у ТС есть такая - почему бы не проверить?
но 10секундный обрыв без потери данных меня впечатлил, возможно он может быть дольше, но это надо уже более точные опыты
...
Рейтинг: 0 / 0
Spring long polling
    #39679993
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
WS предлагают один, два раза, но не в третий раз.
Вот и все.
А кто знает просто ещё что то кроме ws просто умнее.
Так понятно?
...
Рейтинг: 0 / 0
Spring long polling
    #39679999
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Так понятно?
одно не понятно - зачем биться головой об стену?
может стоит проверить ws в реальных условиях?
как ведёт себя ws, я рассказал, а как поведёт себя lp при обрыве в 10+ сек?
...
Рейтинг: 0 / 0
Spring long polling
    #39680015
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяодно не понятно -и никогда уже не поймешь, что нужна линейка решений.
А не чел который всю жизнь продает кровать одной марки. Тему прочти.
...
Рейтинг: 0 / 0
Spring long polling
    #39680025
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123и никогда уже не поймешь, что нужна линейка решений.
у чела есть решение
andreykaTКак это сделать на вебсокетах вопросов в общем то нет. всё просто. там у спринга есть некий хендлер который каждый раз пробегает когда что то приходит с фронта, ну и наоборот - просто постим ивент в сессию вебсокетовую и фронт его получаетно он как мозахист
andreykaTтепреь с лонг поллингом -- допустим я возвращаю футуру контроллером, теперь у меня цепляется клиент открывает хттп подключение и....
и что? у меня пробегает код и ничего. не пойму никак куда и что мне вкарячить чтоб он ждал ответа и когда ответ готов он его получал (или не получал).
...
Рейтинг: 0 / 0
Spring long polling
    #39684805
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написал заказчику поц на спринге с деферед резалтами редисом и очередями горизонтально масштабируемое приложение, реально клёво все работает как часы. он сказал что это все сложно и ему не нужны риски сделай на обычном полинге. Рукалицо. Ну и ладно
...
Рейтинг: 0 / 0
Spring long polling
    #39684814
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTему не нужны рискипоздравляю. Ты познакомился с понятием оверхед.
...
Рейтинг: 0 / 0
Spring long polling
    #39684821
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее я с ним скоро познакомлюсь когда это в продукт попадет
...
Рейтинг: 0 / 0
58 сообщений из 58, показаны все 3 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring long polling
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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