socket.io 自动重连
时间: 2023-09-01 15:08:47 浏览: 439
Android socket实现Tcp长连接,断开自动重连
5星 · 资源好评率100%
socket.io 提供了自动重连的功能,当连接断开时,会自动尝试重新连接。可以通过设置 `reconnection` 和 `reconnectionAttempts` 选项来控制自动重连的行为。
`reconnection` 选项表示是否开启自动重连功能。默认为 `true`,开启自动重连。如果设置为 `false`,则不会自动重连。
`reconnectionAttempts` 选项表示尝试重新连接的次数。默认为 `Infinity`,表示无限次尝试。可以设置为一个数字,表示尝试的次数上限。当尝试次数达到上限时,会触发 `reconnect_failed` 事件。
示例代码如下:
```javascript
const socket = io('http://localhost', {
reconnection: true, // 开启自动重连
reconnectionAttempts: 5, // 尝试重新连接的次数上限为 5 次
});
socket.on('connect', () => {
console.log('connected');
});
socket.on('disconnect', () => {
console.log('disconnected');
});
socket.on('reconnect', (attemptNumber) => {
console.log(`reconnected after ${attemptNumber} attempts`);
});
socket.on('reconnect_failed', () => {
console.log('reconnection failed');
});
```
在上面的示例中,创建了一个 socket 实例,并设置了 `reconnection` 和 `reconnectionAttempts` 选项。当连接成功时,会输出 `connected`;当连接断开时,会输出 `disconnected`;当尝试重新连接时,会输出 `reconnected after n attempts`,其中 `n` 表示尝试的次数;当尝试重新连接达到上限时,会输出 `reconnection failed`。
阅读全文