本文へスキップ
バージョン: 4.x

クライアントインストール

情報

最新のリリースは現在4.7.5で、2024年3月にリリースされました。

リリースノートはこちらにあります。

バージョン互換性

サーバーとJSクライアント間の互換性表を示します。

JSクライアントバージョンSocket.IOサーバーバージョン
1.x2.x3.x4.x
1.xはいいいえいいえいいえ
2.xいいえはいはい1はい1
3.xいいえいいえはいはい
4.xいいえいいえはいはい

[1]allowEIO3: true を使用した場合、はい

関連する移行ガイドを確認してください。

ブラウザサポート

Socket.IOはIE9以降をサポートしています。IE 6/7/8はサポートされなくなりました。

素晴らしいSauce Labsプラットフォームのおかげで、ブラウザの互換性テストを実施しています。

Browser support

インストール

スタンドアロンビルド

デフォルトでは、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.7.5/socket.io.min.js" integrity="sha384-2huaZvOR9iDzHqslqwpR87isEmrfxqyWOF7hr7BY6KG0+hVKLoEXMPUJw3ynWuhO" crossorigin="anonymous"></script>

Socket.IOは他のCDNからも利用できます。

いくつかのバンドルがあります。

名前サイズ説明
socket.io.js34.7 kB gzip未縮小バージョン、debug付き
socket.io.min.js14.7 kB min+gzip本番バージョン、debugなし
socket.io.msgpack.min.js15.3 kB min+gzip本番バージョン、debugなし、msgpackパーサー付き

debugパッケージは、デバッグ情報をコンソールに出力できます。詳細はこちらを参照してください。

開発中は、socket.io.jsバンドルを使用することをお勧めします。localStorage.debug = 'socket.io-client:socket'を設定すると、クライアントが受信したイベントがコンソールに出力されます。

本番環境では、デバッグパッケージを除外した最適化されたビルドであるsocket.io.min.jsバンドルを使用してください。

NPMから

Socket.IOクライアントは、webpackbrowserifyなどのバンドラーと互換性があります。

npm install 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'

その他

依存関係ツリー

クライアントの基本インストールには、9個のパッケージが含まれており、そのうち5個は当社のチームが保守しています。

└─┬ socket.io-client@4.7.2
├── @socket.io/component-emitter@3.1.0
├─┬ debug@4.3.4
│ └── ms@2.1.2
├─┬ engine.io-client@6.5.2
│ ├── @socket.io/component-emitter@3.1.0 deduped
│ ├── debug@4.3.4 deduped
│ ├── engine.io-parser@5.2.1
│ ├─┬ ws@8.11.0
│ │ ├── 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.4
├── @socket.io/component-emitter@3.1.0 deduped
└── debug@4.3.4 deduped

推移的なバージョン

engine.io-clientパッケージは、低レベル接続(HTTPロングポーリングまたはWebSocket)の管理を担当するエンジンを提供します。こちらも参照してください:動作原理

socket.io-clientバージョンengine.io-clientバージョンwsバージョン1
4.7.x6.5.x8.11.x
4.6.x6.4.x8.11.x
4.5.x6.2.x8.2.x
4.4.x6.1.x8.2.x
4.3.x6.0.x8.2.x
4.2.x5.2.x7.4.x
4.1.x5.1.x7.4.x
4.0.x5.0.x7.4.x
3.1.x4.1.x7.4.x
3.0.x4.0.x7.4.x
2.5.x3.6.x7.4.x
2.4.x3.5.x7.4.x

[1]Node.jsユーザーのみ。ブラウザでは、ネイティブのWebSocket APIが使用されます。