socket.io-client的簡單使用:
文檔地址:https://socket.io/docs/v4/client-initialization/
安裝:
npm i socket.io-client
使用:
const io = require("socket.io-client"); const socket = io("http://localhost:8888", { // reconnection: false, //關閉自動重連 }); console.log(socket.connected); // socket是否與服務器連接 console.log(socket.disconnected); // socket是否與服務器斷開連接 socket.open(); // 手動重連 // 連接成功 socket.on("connect", () => { console.log(socket.id, '監聽客戶端連接成功-connect'); }) // 斷開連接 socket.on("disconnect", (reason) => { console.log(socket.connected); console.log("斷開連接-disconnect", reason); }) // 錯誤 socket.on("error", (err) => { console.log("錯誤-error", err); }) // 連接錯誤 socket.on("connect_error", (err) => { err console.log("連接錯誤-connect_error"); }); // 連接超時 socket.on("connect_timeout", (data) => { console.log("連接超時-connect_timeout", data); }); // 重連成功 socket.on("reconnect", (attemptNumber) => { // 重連嘗試次數 console.log("重連成功-reconnect", attemptNumber) }); // 嘗試重連時觸發 socket.on("reconnect_attempt", (attemptNumber) => { // 重連嘗試次數 console.log("嘗試重連-reconnect_attempt", attemptNumber) }); // 在嘗試重新連接時觸發 socket.on("reconnecting", (attemptNumber) => { // 重連嘗試次數 console.log("正在嘗試重連-reconnecting", attemptNumber) }); // 重連嘗試錯誤 socket.on("reconnect_error", (err) => { err console.log(socket.connected); console.log("重連嘗試錯誤-reconnect_error"); }); // 客戶端不能重連時觸發 socket.on("reconnect_failed", () => { console.log("客戶端不能連接-reconnect_failed") }); // 當一個ping被發送到服務器時觸發 socket.on("ping", () => { console.log("一個ping發送到服務器-ping") }); // 當服務器收到pong時觸發 socket.on("pong", (data) => { // data: 延遲多少ms console.log("服務器收到pong-pong", data); });
可以配置是否自動重連等設置
向服務端socket發送消息
socket.emit("eventName", msg, handler)
handler回調可以接受到服務端返回的結果