Установка клиента
Совместимость версий
Вот таблица совместимости сервера и 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
Пожалуйста, ознакомьтесь с соответствующими руководствами по миграции:
Поддержка браузеров
Socket.IO поддерживает IE9 и выше. IE 6/7/8 больше не поддерживаются.
Совместимость с браузерами тестируется благодаря замечательной платформе Sauce Labs:
Последние релизы
- 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