Обмен технологиями

Знать и понимать WebSocket

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Сегодня, просматривая Niuke, я увидел, как большой босс рассказал, что столкнулся с проблемой, связанной с webSocket, во время собеседования по интерфейсу. Я никогда раньше не видел этого вопроса, поэтому быстро узнал об этом и записал его здесь!

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

Основные понятия WebSocket

  1. Соединение установлено: клиент инициирует соединение WebSocket, отправляя HTTP-запрос. Этот запрос содержит определенные заголовки, указывающие, что это запрос установления связи WebSocket.
  2. Пожать руки: после того, как сервер получает запрос, если он поддерживает WebSocket, он отвечает HTTP-ответом, завершает процесс установления связи и устанавливает соединение WebSocket.
  3. передача данных : как только соединение установлено, клиент и сервер могут отправлять данные через это соединение. Данные могут быть в текстовом или двоичном формате.
  4. соединение закрыто: любая сторона может закрыть соединение WebSocket.

Этапы использования WebSocket

  1. Создать экземпляр WebSocket: На стороне клиента сначала нужно создать экземпляр WebSocket и указать URL-адрес сервера.

    const ws = new WebSocket('ws://example.com/socket');