哈希空间

js 增加 websocket 的自动重连 功能

在 WebSocket 连接中,如果连接断开,需要重新连接才能继续通信。为了实现自动重连功能,可以使用以下步骤:

  1. 创建 WebSocket 连接并添加连接事件监听器,监听连接关闭事件。
let socket = new WebSocket('ws://localhost:8080'); socket.addEventListener('close', () => { // 连接关闭后执行重连操作 });
  1. 在连接关闭事件监听器中,使用 setTimeout() 函数创建一个延迟一定时间后执行的函数,用于重新连接 WebSocket。
let socket = new WebSocket('ws://localhost:8080'); socket.addEventListener('close', () => { setTimeout(() => { // 重新连接 WebSocket }, 3000); // 延迟 3 秒后重连 });
  1. 在重新连接 WebSocket 的函数中,可以使用 try...catch 语句来捕获连接异常并进行重连操作。在每次重连之前,可以设置一个重连次数的计数器,避免无限重连。
let socket = null; let reconnectCount = 0; function connectWebSocket() { socket = new WebSocket('ws://localhost:8080'); socket.addEventListener('close', () => { if (reconnectCount < 5) { // 最多重连 5 次 setTimeout(() => { reconnectCount++; connectWebSocket(); }, 3000); // 延迟 3 秒后重连 } else { console.log('WebSocket 连接失败,已超过最大重连次数'); } }); socket.addEventListener('open', () => { reconnectCount = 0; // 连接成功后重置重连次数 console.log('WebSocket 连接成功'); }); socket.addEventListener('message', (event) => { console.log('收到消息:', event.data); }); socket.addEventListener('error', (error) => { console.log('WebSocket 连接错误:', error); }); } connectWebSocket();

通过以上方法,可以实现 WebSocket 自动重连功能,确保在连接断开时能够自动重连并继续通信。

本文 最佳观看地址:https://www.hashspace.cn/js-websocket-close-reconnect.html 阅读 1709

打开 哈希空间 微信小程序中查看更佳