用戶端初始化
安裝 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");
您可以在 這裡 找到有關命名空間的更多詳細資訊。
選項
可用的選項完整清單可以在 這裡 找到。