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回调可以接受到服务端返回的结果

 

posted @   古墩古墩  Views(7615)  Comments(0Edit  收藏  举报
编辑推荐:
· 基于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
点击右上角即可分享
微信分享提示