Подключаем WebSocket (SockJS + Stomp). Spring Boot REST
HTML-код
- Опубликовано: 28 сен 2018
- Spring Boot Rest Application: подключаем WebSocket (через библиотеку SockJS) и отправляем сообщения по протоколу Stomp. С использованием данных технологий мы будем асинхронно обновлять данные в браузере клиента без перезагрузки станицы.
Код из видео:
github.com/drucoder/sarafan/t...
Руководство по подключению WebSocket к SprintBoot проекту:
spring.io/guides/gs/messaging-...
Can I use: WebSocket:
caniuse.com/#search=websocket
Документация по StompJS:
stomp-js.github.io/stomp-webs...
Документация по SockJS:
github.com/sockjs/sockjs-client
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
➡ Твиттер: / letscodedru
➡ Чат в Discord: / discord
➡ Группа Вконтакте: letscodedru
➡ Канал в Telegram: t.me/letsCode_dru
➡ Чат в Telegram: t.me/joinchat/FeiP9xEhqHajfqh...
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Поддержать проект:
➡ Patreon / letscodedru
➡ Яндекс.Деньги money.yandex.ru/to/4100145167...
➡ PayPal paypal.me/letscodedru
➡ Qiwi qiwi.me/letscode
➡ WebMoney/BitCoin funding.webmoney.ru/d/drucoder
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
➡ Ссылка на канал: / @letscodedru
➡ Ссылка на Яндекс.Дзен: zen.yandex.ru/media/id/5ac209...
Андрей, большое спасибо за все твои видео, отлично объясняешь!
Видосу уже скоро пять лет, но всё ещё полезный. Спасибо)
Андрей спасибо огромное!!!))) Обожаю ваш канал!!))) Всегда очень интересные темы!!!)))))
Спасибо! Как всегда годные уроки. всегда есть что-то новое. иногда понятное иногда совсем нет, но всегда интересно
Круть крутяшная!!!!! Респект, вот чего хотелось-то попробовать))) С нетерпением жду продолжения!!!
Вообще супер видео! Спасибо.
крутая технология!!! а мы поллинги и пушинги юзали ) спасибо!
Аффтар я тебя люблю в хорошем смысле этого слова!!
Спасибо! Отличный и лаконичный материал!
Спасибо за отличное видео!
На одном дыхании
Ну как всегда лойс)
От души душевно в душу (ↄ).
Большое спасибо и и жирный лайк за видео! По образу и подобию сделал удаление сообщений, всё работает
скинь код, как удаление реализовал, пожалуйста
Ни один урок не обходится без последствий, если просто выполнить особо не вдумываясь то ничего не отложится. Я вот попытался разобраться, застрял на 2 часа, никак не мог понять что происходить в handlers, все виной тому, что в java не сталкивался с функциональным программированием, и только потом понял что в handlers ложатся не объекты, а функции которым в последствии передаются сообщения из сервера, зачем такая примудрость пока не разобрался (в будущем думаю пойму) но блин в мозгу отложилось надежно. В очередной раз спасибо за видео, в каждом новом уроке новая технология, которая заставляет разбираться и развиваться. Удачи автору.
Спасибо тебе, добрый человек. Тоже голову ломал над этим.
Спасибо! Кстати для поиска различий между файлами можно использовать Araxis Merge, например.
14:00 - в каком моменте и как мы настроили mapping путей?
16:50 - можно ролик с бэкстейджа - как вычислили что именно там ошибка?
у меня опечатка получилась - в MessageController вместо аннотация @MessageMapping("/changeMessage") была changeMassage.
есть вариянт заставить спринг писать в консоль, когда кто то не туда стучится? как при классическим REST когда не найден mapping?
Респект!
Супер круто!
Аладунь!
Спасибо огромное!!!!
Сразу видно, кто стримы не пропускает XD
Ахах, досматривайте видео до последней секунды! Оно того стоит :)
Чтобы пройти это урок нужно разобраться в уроке "Настраиваем Webpack", который ссылается на урок "Webpack - сборщик web приложений", который ссылается на урок "Node.js: NPM - пакетный менеджер"...
Ну, как бы это нормально)
А у меня и так всё работает, мне вообще gulp больше нравится
Вопрос по уроку Bean Validation:
Если по одному полю срабатывает сразу два условия валидации, как в этом случае получить список ошибок?
При использовании коллекции Map выскакивает ошибка, т.к. появляется второй дублирующий ключ.
Автору очередные плюсы к карме)
Подскажите, как проксировать трафик по вебсокет протоколу в спрингбут приложении? У меня на проекте микросервисная архитектура, в качестве входной точки используется спринг бут приложение, которое аутентифицирует запросы с клиента и проксирует их в другие модули. Между браузером и одним из внутренних модулей нужно установить веб сокет соединение. Подскажете какие-нибудь способы?
Удаленные месседжи не пропадают у другого юзера без перезагрузки страницы
В конце песня отладчика: "Какого хера, какого хера..." :D
Привет, а обязательно что-бы месседж был именно текстом? Нельзя например сделать вместо просто текста какой-то типу пост, в котором есть титулка, тело и тд. Делая тем самым что-то по типу ленты, которую можно скролить
Когда продолжение будет?
Андрей , спасибо! вопрос у меня такой, сколько раз вы это делали и какое время лично вам нужно чтобы изучить и внедрить что -то новое (даже на примере webcoket, security). Дело в том, что я уже неделю не могу сделать ))) вот хочу понять один я такой или нас много, как быть если начальство скажет сделать такое, а тут такие заторы)
Когда учился тоже нихренаж не работало. Сейчас уже опыт есть, могу гораздо быстрее разобраться. Это как с машиной: начинаешь на одной и ездишь еле-еле. А потом, с опытом, пофиг на какой и достаточно хорошо катаешь
Спасибо, но это первое видео в котором я не понял 60% информации)
Народ подскажите.
Все делал как по видео, но не отправляет сообщения в форме пользователя, что может быть?
Здравствуйте. Может кто нибудь поможет с моим вопросом. Так вот вопрос, как сделать обмен сообщениями по конкретному URL. То есть допустим у меня сайт находится на localhost:8080. И я хочу чтобы мой чат через WebSocket открывался только по URL "localhost:8080/chat". Как это сделать? Пробовал @RequestMapping("/chat"). Все равно все открывается на главной странице localhost:8080. Писал по официальному гайду от Спринга. Тут у автора тоже приложение работает на localhost:9000 без дополнительных слов в URL. Надеюсь понятно задал вопрос, заранее большое спасибо
Знает кто, как автор сделал так, чтобы у него на 11:30 в логе сокета выводился именно наш энтити пользователя, а не просто id?
Зря сделали "по-молодежному" теперь затруднения как собрать ваш проект, если например нужно hibernate, который я собрал по вашему же видео и websocket, который теперь собирается совершенно иначе. Слишком крутой входной порог вы сделали.. Извините, конечно, видео отличные, очень доходчивые.
КАК исправить? send message не реагирует ,делал все как на видео WebSocketSession[1 current WS(1)-HttpStream(0)-HttpPoll(0), 1 total, 0 closed abnormally (0 connect failure, 0 send limit, 0 transport error)], stompSubProtocol[processed CONNECT(1)-CONNECTED(1)-DISCONNECT(0)], stompBrokerRelay[null], inboundChannel[pool size = 8, active threads = 0, queued tasks = 0, completed tasks = 12], outboundChannel[pool size = 1, active threads = 0, queued tasks = 0, completed tasks = 1], sockJsScheduler[pool size = 4, active threads = 1, queued tasks = 3, completed tasks = 14]
я с этой проблемой лежу неделю :( новые сообщения не добавляются, старые не редактируется, работает только удаление
upd: в MessageController в методе change не правильно написал @MessageMapping("/change") . исправил @MessageMapping("/changeMessage")
@@abaialihan9274 привет. Пожалуйста. Можешь примерно объяснить как реализовывал удаление? И скажу, при удаление, другой пользователь видит это удаление без перезагрузки или только после перезагрузки?
Автор, Спасибо огромное! Однако вопрос: при отработке кнопки редактирования в базу тупо добавляется новый Message. sout в контроллере @MessageMapping выводит принятый мессадж без Id. При этом, в консоли хрома отправка айдишника таки происходит... В каком месте Может быть ошибка? Мяф)
Сложно такое диагностировать через комменты тут. Приходи в чат, там скопом разберемся
@@letsCodeDru Привет!) В чат заходил, кое-что подсказали) Трабл оказался в итоге связан с @MessageMapping - зараза отказывается конвертить Айди из ДжСона. В результате обошел засаду с помощью гiмна та палок - повытаскивал данные руками из JSONObject %)). Однако если ты не против - можно таки поспилкувацца через личку? (Оч хочется разобраться)
Здрасвуйте мне надо jwt + websocket, свой укзампл нету? откуда мне искать ? pls help me
Ещё пока нету. В перспективе должен появиться
А нет видео где stomp но вместо фронта - postman?
Ванну нужно закрывать :)
Тогда кот начинает туда громко ломиться))
Со временем отвыкнет ^_^
связывай его скотчем)
Почему не ajax? Что тебе так не нравиться Jquery?)
Jquery провоцирует плохую архитектуру
@@letsCodeDru расскажите как нибудь почему и что с Angular и React хуже чем Vue
@@vjotov с ними всё так. Просто мне больше Vue нравится. На работе использую React. Нынешний ангуляр (2) использовал еще когда он был в глубокой альфе.
@@letsCodeDru а что делаете ?
Которое видео уже подряд практически ничего по спрингу - один фронтенд на джаваскрипте. Переименуйте уже тогда уроки в изучение фронта.
Спасибо! Отличный и лаконичный материал!
Спасибо! Отличный и лаконичный материал!
Спасибо! Отличный и лаконичный материал!
Спасибо! Отличный и лаконичный материал!
Спасибо! Отличный и лаконичный материал!
Спасибо! Отличный и лаконичный материал!
Спасибо! Отличный и лаконичный материал!