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回調可以接受到服務端返回的結果
