クライアント初期化
Socket.IO クライアントライブラリをインストールしたら、クライアントを初期化できます。 オプションの完全なリストはこちらにあります。
ヒント
TypeScript ユーザーの場合、イベントに型ヒントを指定できます。こちらをご覧ください。
以下の例では、io
オブジェクトは次のいずれかから取得されます。
<script>
インポート
<script src="/socket.io/socket.io.js"></script>
- ESM インポート
<script type="module">
import { io } from "https://cdn.socket.io/4.7.5/socket.io.esm.min.js";
</script>
- NPM
- CommonJS
- ES モジュール
- TypeScript
const { io } = require("socket.io-client");
import { io } from "socket.io-client";
import { io } from "socket.io-client";
同一ドメインからの接続
フロントエンドがサーバーと同じドメインで提供されている場合は、次のように使用できます。
const socket = io();
サーバーのURLは、window.locationオブジェクトから推測されます。
異なるドメインからの接続
フロントエンドがサーバーと同じドメインで提供されていない場合は、サーバーのURLを渡す必要があります。
const socket = io("https://server-domain.com");
その場合、サーバーでクロスオリジンリソース共有 (CORS)を有効にすることを確認してください。
情報
https
またはwss
(それぞれhttp
またはws
)を使用できます。
// the following forms are similar
const socket = io("https://server-domain.com");
const socket = io("wss://server-domain.com");
const socket = io("server-domain.com"); // only in the browser when the page is served over https (will not work in Node.js)
カスタム名前空間
上記の例では、クライアントはメイン名前空間に接続します。ほとんどのユースケースではメイン名前空間のみで十分ですが、名前空間を次のように指定できます。
// same origin version
const socket = io("/admin");
// cross origin version
const socket = io("https://server-domain.com/admin");
名前空間の詳細についてはこちらを参照してください。
オプション
使用可能なオプションの完全なリストはこちらにあります。