Сегодня мы поговорим о том, что такое веб-сокеты, в чем разница между веб-сокетами и HTTP-запросами и как вы можете использовать сокеты для создания приложений реального времени в node js.

Перед началом. Если вы хотите стать частью культурного сообщества CODE. Просто заполните форму, чтобы присоединиться к бесплатным занятиям по культуре кода в воскресенье и получить ответы на свои вопросы о программировании и карьере. Я в форме «Нажми на меня

Если вы используете приложения реального времени, такие как Twitter, Sports Fantasy или приложения для обмена сообщениями и т. д., вы будете осознавать, что их данные постоянно изменяются без какого-либо взаимодействия. Это возможно благодаря веб-сокету.

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

Когда использовать веб-сокеты?

HTTP против WebSocket:

Веб-сокет

Первый и стандартный HTTP-запрос, сделанный клиентом, такой же, как и раньше, но есть небольшая разница: клиент запрашивает открытие соединения WebSocket. Это называется «рукопожатием». Если сервер соглашается, клиент и сервер могут общаться в режиме двусторонней связи.

Как WebSocket используется в проектах:
Существует множество библиотек, которые абстрагируют WebSockets, чтобы сделать их более удобными для разработчиков. Возможно, самым популярным из них является Socket.io.

Node.js используется для создания серверных приложений, управляемых событиями, с использованием javascript.
Express.js — это платформа, основанная на Node.js.

На стороне сервера:
Пока никаких событий не обнаружено, пользователь перемещается по приложению по своему усмотрению. Как только событие обнаружено, сервер обрабатывает событие и отправляет результат клиенту через сообщение WebSocket.

Клиентская сторона:
После того как сообщение получено через WebSocket, клиент загружает полезную нагрузку указанного сообщения и отображает сообщение с этой информацией.

если у вас есть какие-либо вопросы или предложения, дайте мне знать в моем Instagram или по адресу [email protected]