Перейти к содержанию

Socket.IO

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
Socket.IO
Тип Событийно-ориентированная
Автор Guillermo Rauch
Написана на JavaScript
Операционная система Кроссплатформенное ПО
Последняя версия 4.4.1 (6 января 2022)
Состояние Активный
Лицензия MIT License[1]
Сайт socket.io

Socket.IO — JavaScript-библиотека для веб-приложений и обмена данными в реальном времени. Состоит из двух частей: клиентской, которая запускается в браузере и серверной для node.js. Оба компонента имеют похожее API. Подобно node.js, Socket.IO событийно-ориентированная.

Socket.IO главным образом использует протокол WebSocket, но если нужно, использует другие технологии, например Flash Socket, AJAX Long Polling, AJAX Multipart Stream[2], предоставляя тот же самый интерфейс. Помимо того, что Socket.IO может быть использована как оболочка для WebSocket, она содержит много других функций, включая вещание на несколько сокетов, хранение данных, связанных с каждым клиентом, и асинхронный ввод/вывод.

Может быть установлена через npm (node package manager)[3].

Обзор

С помощью Socket.IO можно реализовать аналитику в реальном времени, многопользовательские игры, обмен мгновенными сообщениями и совместную работу с документами в реальном времени.

Socket.IO довольно популярен, его используют Microsoft, Yammer, Zendesk, Trello и многие другие организации для создания систем реального времени.

Socket.IO работает на основе событий. Существуют несколько зарезервированных событий для объекта сокета на стороне клиента:

  • connect
  • connect_timeout
  • connect_error
  • error
  • disconnect
  • reconnect
  • reconnect_attempt
  • reconnecting
  • reconnect_error
  • reconnect_failed

События для объекта сокета на стороне сервера:

  • disconnect
  • disconnecting
  • error

События для объекта socket.io на стороне сервера:

  • connect / connection

Ссылки

Примечания

  1. socket.io/LICENSE at master · LearnBoost/socket.io · GitHub. Дата обращения: 11 февраля 2019. Архивировано 17 февраля 2019 года.
  2. Socket.IO. Дата обращения: 11 февраля 2019. Архивировано 13 февраля 2019 года.
  3. socket.io. Дата обращения: 30 декабря 2013. Архивировано 6 октября 2014 года.