9

有没有办法知道socket io发出失败和成功,比如ajax回调方法:onSuccess,onError?对于套接字 io 发射,我只找到:

socket.emit('publish', {message:'test message'},function (data) { alert("")})

该回调仅在服务端发送 ack 响应时调用。但不适用于这种情况:

在向服务器发送消息的那一刻,网络不好或连接丢失,这意味着服务器没有收到这个消息,所以客户端回调函数没有被调用。

我想要的是:

当我调用套接字 io 发射时,如果失败,我想重试 3 次。

4

1 回答 1

0

我知道这是一个旧帖子,但以防万一有人仍然遇到问题。

var socket = new io.connect('http://localhost:3000', {
    'reconnection': true,
    'reconnectionDelay': 1000,
    'reconnectionDelayMax' : 5000,
    'reconnectionAttempts': 3
});
socket.on('connect_error', function() {
    console.log('Connection failed');
});
socket.on('reconnect_failed', function() {
    // fired only after the 3 attemps in this example fail
    console.log('Reconnection failed');
});

更多信息在这里-> https://socket.io/docs/client-api/#manager-reconnectionAttempts-value

于 2020-06-07T20:32:49.653 回答