Какой объект приходит с WebSocket на Frontend

«Какой объект приходит с WebSocket на Frontend» — вопрос из категории Архитектура, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

При подключении к WebSocket на Frontend приходит объект WebSocket. После установки соединения можно слушать события:

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

// Основные события:
socket.onopen = (event) => {
  // Соединение установлено
};

socket.onmessage = (event) => {
  // Получено сообщение, данные в event.data
  console.log(event.data); // Может быть строка, Blob или ArrayBuffer
};

socket.onerror = (error) => {
  // Произошла ошибка
};

socket.onclose = (event) => {
  // Соединение закрыто
  // event.code - код закрытия
  // event.reason - причина
};

Объект event в onmessage содержит:

  • data - полученные данные (строка, Blob или ArrayBuffer)
  • origin - URL сервера
  • lastEventId - ID последнего события (для EventSource)
  • ports - массив MessagePort объектов (для MessageChannel)