socket.io-client
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回调可以接受到服务端返回的结果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2018-12-26 tools