Spec-Zone.ru › Socket.IO 4

Установка клиента

Совместимость версий

Вот таблица совместимости сервера и JS-клиента:

Версия JS-клиента Версия сервера Socket.IO
1.x 2.x 3.x 4.x
1.x ДА НЕТ НЕТ НЕТ
2.x НЕТ ДА ДА1 ДА1
3.x НЕТ НЕТ ДА ДА
4.x НЕТ НЕТ ДА ДА

[1] Да, с allowEIO3: true

Пожалуйста, ознакомьтесь с соответствующими руководствами по миграции:

  • v2 до v3
  • v3 до v4

Поддержка браузеров

Socket.IO поддерживает IE9 и выше. IE 6/7/8 больше не поддерживаются.

Совместимость с браузерами тестируется благодаря замечательной платформе Sauce Labs:

Browser support

Последние релизы

  • 4.5.0 (23.04.2022): Релиз на GitHub / разница / npm
  • 4.4.1 (06.01.2022): Релиз на GitHub / разница / npm
  • 4.4.0 (18.11.2021): Релиз на GitHub / разница / npm
  • 4.3.2 (08.11.2021): Релиз на GitHub / разница / npm
  • 4.3.1 (17.10.2021): Релиз на GitHub / разница / npm
  • 4.3.0 (15.10.2021): Релиз на GitHub / разница / npm
  • 4.2.0 (30.08.2021): Релиз на GitHub / разница / npm

Установка

Автономная сборка

По умолчанию сервер Socket.IO предоставляет сборку клиента по адресу /socket.io/socket.io.js.

io будет зарегистрирован как глобальная переменная:

<script src="/socket.io/socket.io.js"></script>
<script>
  const socket = io();
</script>

Если это не нужно (см. другие варианты ниже), можно отключить эту функцию на стороне сервера:

const { Server } = require("socket.io");

const io = new Server({
  serveClient: false
});

С CDN

Можно также включить сборку клиента с CDN:

<script src="https://cdn.socket.io/4.5.0/socket.io.min.js" integrity="sha384-7EyYLQZgWBi67fBtVxw60/OWl1kjsfrPFcaU0pp0nAh+i8FD068QogUvg85Ewy1k" crossorigin="anonymous"></script>

Socket.IO также доступен с других CDN:

  • cdnjs: https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.5.0/socket.io.min.js
  • jsDelivr: https://cdn.jsdelivr.net/npm/socket.io-client@4.5.0/dist/socket.io.min.js
  • unpkg: https://unpkg.com/socket.io-client@4.5.0/dist/socket.io.min.js

Доступно несколько сборок:

Название Размер Описание
socket.io.js 34.7 kB gzip Нескомпилированная версия с debug
socket.io.min.js 14.7 kB min+gzip Производственная версия без debug
socket.io.msgpack.min.js 15.3 kB min+gzip Производственная версия без debug и с парсером msgpack

Пакет debug позволяет выводить отладочную информацию в консоль. Дополнительную информацию можно найти здесь.

Во время разработки рекомендуется использовать сборку socket.io.js. Установив localStorage.debug = 'socket.io-client:socket', любое событие, полученное клиентом, будет выведено в консоль.

Для производства используйте сборку socket.io.min.js, которая является оптимизированной сборкой без пакета debug.

Из NPM

Клиент Socket.IO совместим с такими сборщиками, как webpack или browserify.

  • NPM
  • Yarn
  • pnpm
npm install socket.io-client
yarn add socket.io-client
pnpm add socket.io-client

Клиент также может быть запущен из Node.js.

Примечание: по причинам, указанным выше, вы можете захотеть исключить debug из своей сборки для браузера. С помощью webpack вы можете использовать webpack-remove-debug.

Примечание для пользователей TypeScript: типы теперь включены в пакет socket.io-client , и типы из @types/socket.io-client больше не нужны и могут вызывать ошибки:

Object literal may only specify known properties, and 'extraHeaders' does not exist in type 'ConnectOpts'

Разное

Дерево зависимостей

Базовая установка клиента включает 10 пакетов:

└─┬ socket.io-client@4.5.0
  ├── @socket.io/component-emitter@3.1.0
  ├─┬ debug@4.3.4
  │ └── ms@2.1.2
  ├─┬ engine.io-client@6.2.1
  │ ├── @socket.io/component-emitter@3.1.0 deduped
  │ ├── debug@4.3.4 deduped
  │ ├─┬ engine.io-parser@5.0.3
  │ │ └── @socket.io/base64-arraybuffer@1.0.2
  │ ├─┬ ws@8.2.3
  │ │ ├── UNMET OPTIONAL DEPENDENCY bufferutil@^4.0.1
  │ │ └── UNMET OPTIONAL DEPENDENCY utf-8-validate@^5.0.2
  │ └── xmlhttprequest-ssl@2.0.0
  └─┬ socket.io-parser@4.2.0
    ├── @socket.io/component-emitter@3.1.0 deduped
    └── debug@4.3.4 deduped

Переходные версии

Пакет engine.io-client предоставляет движок, отвечающий за управление подключением на низком уровне (HTTP long-polling или WebSocket). См. также: Как это работает

socket.io-client версия engine.io-client версия ws версия1
4.5.x 6.2.x 8.2.x
4.4.x 6.1.x 8.2.x
4.3.x 6.0.x 8.2.x
4.2.x 5.2.x 7.4.x
4.1.x 5.1.x 7.4.x
4.0.x 5.0.x 7.4.x
3.1.x 4.1.x 7.4.x
3.0.x 4.0.x 7.4.x
2.4.x 3.5.x 7.4.x

[1] Только для пользователей Node.js. В браузере используется собственный API WebSocket.

© 2014–2021 Automattic
Licensed under the MIT License.
https://socket.io/docs/v4/client-installation

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API