socket io发出失败的回调

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了socket io发出失败的回调相关的知识,希望对你有一定的参考价值。

有什么方法可以知道套接字io发出失败和成功,类似于ajax回调方法:onSuccess,onError吗?对于io套接字,我只能找到:

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

仅当服务器发送确认响应时才调用此回调。但不适用于这种情况:

在向服务器发送消息时,网络故障或连接丢失,这意味着服务器未收到此消息,因此未调用客户端回调函数。

我想要的是:

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

答案

我知道这是一篇旧文章,但以防万一有人仍然对此感到麻烦。

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

以上是关于socket io发出失败的回调的主要内容,如果未能解决你的问题,请参考以下文章

socket.io 中的 emit 方法的成功回调

socket.io 发出回调合适吗?

Android socket.IO中的Emit或Ack超时处理?

socket.io 在 x 秒/第一次尝试获取响应失败后停止重新发出事件

使用 ack SocketIO 与 iOS 发出

socket.io 下的可靠消息传递?