TGViewer
Coding Lady Coding Lady @codingllady · 772 subscribers
Post #466 1.04K
WebSocket, приятно познакомиться🫱🏼‍🫲🏻

На днях у нас в проекте возникла проблема.
Был запрос, который очень долго обрабатывался на бэке и в итоге отваливался по таймауту.
Предложение увеличить таймаут для этого запроса - ненадежная история, поэтому начали искать альтернативы.
Решили использовать веб-сокеты!

Короче, протокол веб-сокет обеспечивает возможность обмена данными между браузером и сервером через постоянное соединение.
Данные передаются по нему в обоих направлениях в виде «пакетов», без разрыва и дополнительных HTTP-запросов.
Эта тема хороша для мессенджеров, онлайн-игр, торговых площадок и всего, где нужно постоянное обновление данных.

В итоге решение нашей проблемы:
1. Устанавливаем веб-сокет соединение.
2. Я передаю в сообщении данные, которые отправляла в обычном https запросе
3. Бэк их обрабатывает какое-то время и после обработки отправляет мне сообщение о том, что процесс окончен
4. Я понимаю, что процесс окончен, и дальше работа в обычном режиме с https запросами

То есть теперь вся логика спокойно выполняется на бэке, а я просто жду сообщение об успехе.
Красота🙌🏼

Чтобы создать сокет:
const socket = new WebSocket("wss://наш_урл_для_сокета");

Можно еще просто ws, но лучше конечно шифровать данные, это мы знаем,то же самое как http и https.

Как только объект WebSocket создан, мы слушаем его события:
• open – соединение установлено (здесь же мы можем отправить наши данные на сервер),
• message – получены данные (здесь после получения данных можем вызывать какие-то свои экшены),
• error – ошибка (можно просто вывести уведомление об ошибке),
• close – соединение закрыто

Если мы хотим отправить что-нибудь, то вызываем socket.send(data).
Только data должна быть строкой, так что если изначально это был объект, то не забываем про JSON.stringify().

Веб-сокеты можно так же смотреть в network в devtools, только надо выбрать WS, а не обычный наш fetch.

Вот и всё!
Ничего сложного))
Если есть вопросы - пишите, разберёмся вместе😌
Ну и подкиньте огоньков плиз, если заходит такой познавательный контент🔥
  • 🔥 91
  • ❤ 1
More from @codingllady
  1. Dec 25, 2025Post #809
  2. Dec 12, 2025Я говорю развлекаемся как можем
  3. Dec 12, 2025Прислали новогодние подарочки с мэри кэй☺️ я работала на этом проекте осенью, афигенно был…
  4. Dec 12, 2025Это я третий час на созвоне сижу, 20 минут назад плакала, вот такие дела 🙂
  5. Dec 5, 2025Sharing is caring 🫂 Привозите вкусняшки своим коллегам, это очень приятно
  6. Nov 27, 2025Заберите у неё ноут и дайте доску, она ей больше идет 🏄🏽‍♀️ Завтра буду в мск, решать во…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →