TGViewer
Frontend Hash Frontend Hash @hashdev · 3.19K subscribers
Post #392 1.59K
⬅️ Использование WebSocket с Python

Что такое WebSocket?

Обычно для обмена данными в интернете используется протокол передачи гипертекста (HTTP, HyperText Transfer Protocol). Он работает по алгоритму запрос/ответ. Когда веб-браузеру нужны данные с веб-сервера, он выполняет запрос, на который веб-сервер возвращает данные через ответ: изображение 1.

☝️Чтобы поддерживать актуальную версию веб-страницы, браузеру необходимо достаточно часто выполнять запросы для получения данных с веб-сервера.
Этот процесс называется опросом (polling). Если данные нужно обновлять постоянно, он становится чрезмерно затратным, поскольку и клиент, и сервер постоянно выполняют запросы и ответы. С другой стороны, постоянный опрос бесполезен, если данные на сервере меняются редко (или нерегулярно). Но если уменьшить частоту опроса, браузер может пропустить важные обновления данных.

Гораздо больше возможностей предлагает технология WebSocket, которая предоставляет канал связи на основе сокетов между веб-браузером и веб-сервером. Такое полностью дуплексное соединение, позволяющее и клиенту, и серверу одновременно отправлять и получать данные, весьма полезно для веб-приложений, работающих в режиме реального времени.

Алгоритм работы WebSoket показан на изображении 2.

▪Сначала веб-браузер инициирует запрос к веб-серверу, отправляя HTTP-заголовок “can we upgrade to websocket”.
▪Если веб-сервер поддерживает WebSocket, он возвращает ответ с заголовком “OK to upgrade to websocket”.
▪Затем устанавливается долговременное двунаправленное соединение с сокетом.
▪И клиент, и сервер смогут обмениваться данными, используя это сокет-соединение.

С WEBSOCKET ТАКЖЕ МОЖНО ИСПОЛЬЗОВАТЬ ДЛЯ ПОДКЛЮЧЕНИЯ К СОКЕТАМ ПОРТЫ 80 (HTTP) И 443 (HTTPS). ЭТО ПОЗВОЛЯЕТ РАБОТАТЬ С WEBSOCKET ДАЖЕ ЧЕРЕЗ ПРОКСИ-СЕРВЕР И БРАНДМАУЭР.

Создание сервера WebSocket

📌 Читать
  • ❤ 3
  • 👍 1
  • 🤯 1
More from @hashdev
  1. Sep 18, 2026JavaScript. Что будет выведено в консоль? Ответ: 20
  2. Sep 18, 2026Сегодня последний день регистрации на КосмоХакатон 18–20 сентября, Петербург, Красноярск и…
  3. Sep 16, 2026Команды нет — это не причина пропустить КосмоХакатон 18–20 сентября, Санкт-Петербург, Крас…
  4. Sep 14, 2026Signup Form 3D FLIP Animation 3D-анимация формы регистрации, реализованная с помощью CSS и…
  5. Sep 14, 2026Хакатон на космических данных. Санкт-Петербург, Красноярск или онлайн из любой точки стран…
  6. Sep 6, 2026Apache Kafka 4.x - продвинутый бесплатный практический курс 2026 года https://github.com/j…
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 →