uniapp websock 重连 试例
时间: 2023-10-08 10:06:24 浏览: 75
以下是一个示例代码,展示如何在 uniapp 中实现 WebSocket 的重连:
```
// 定义 WebSocket 实例
let ws = null;
// 定义 WebSocket 地址和重连时间间隔
const wsUrl = 'ws://localhost:8080/ws';
const reconnectInterval = 5000;
// 定义 WebSocket 连接函数
function connectWebSocket() {
ws = uni.connectSocket({
url: wsUrl,
success() {
console.log('WebSocket 连接成功');
},
fail() {
console.log('WebSocket 连接失败');
},
});
}
// 监听 WebSocket 连接失败事件
uni.onSocketError(() => {
console.log('WebSocket 连接失败');
// 断开 WebSocket 连接
uni.closeSocket();
// 重连 WebSocket
setTimeout(() => {
console.log('开始重连 WebSocket');
connectWebSocket();
}, reconnectInterval);
});
// 监听 WebSocket 断开连接事件
uni.onSocketClose(() => {
console.log('WebSocket 连接断开');
// 重连 WebSocket
setTimeout(() => {
console.log('开始重连 WebSocket');
connectWebSocket();
}, reconnectInterval);
});
// 监听 WebSocket 接收到消息事件
uni.onSocketMessage((res) => {
console.log('WebSocket 收到消息', res.data);
});
// 连接 WebSocket
connectWebSocket();
```
在上面的示例中,我们定义了一个 WebSocket 实例 `ws`,并设置了 WebSocket 的地址 `wsUrl` 和重连时间间隔 `reconnectInterval`。在 `connectWebSocket` 函数中,我们使用 uni.connectSocket 方法创建一个 WebSocket 连接,如果连接成功,我们会在控制台输出一条消息。如果连接失败,我们会在控制台输出一条错误信息,并在 `onSocketError` 监听器中断开 WebSocket 连接,然后在 `setTimeout` 函数中等待一段时间后重新连接 WebSocket。如果 WebSocket 连接断开,我们会在控制台输出一条消息,并在 `onSocketClose` 监听器中等待一段时间后重新连接 WebSocket。最后,我们使用 `onSocketMessage` 监听器来处理接收到的 WebSocket 消息。
阅读全文