在客户端检测Socket.IO消息传递错误

lgc_ustc

我们需要更新客户端UI,以指示消息无法传递。当消息传递失败时,如何让Socket.IO JS客户端直接调用自定义回调?例如,类似:

socket.emit("event", data).onError(myCallback);

我知道Socket.IO提供了Ack机制来确认传递成功。因此,如果在一定时间后未调用ack,则可以使用调用失败回调的处理程序来设置计时器。但这似乎并不是最好的方法。

另外,还有Socket.IO提供的错误事件,但是它没有附带有关导致该错误的发出事件的信息。

法比奥·安特尼斯(Fabio Antunes)

不幸的是,没有办法从回调中获取错误,唯一的方法是确实创建自己的超时:

var timeoutId = setTimeout(timeoutErrorFn, 500);

var acknCallbackFn = function(err, userData){
  clearTimeout(timeoutId)
  //manage UserData
}

socket.emit('getUserData', acknCallbackFn);

代码源

还有另一个问题,开放

因此,暂时必须坚持手动setTimeout。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在客户端检测Socket.IO消息传递错误

来自分类Dev

如何在socket.io中检测相同的客户端

来自分类Dev

检测 socket.io 断开连接并销毁事件客户端

来自分类Dev

Socket.io将数组传递给客户端

来自分类Dev

找不到 Socket.io 客户端错误 404

来自分类Dev

Socket.io客户端到客户端逻辑,有很多用户

来自分类Dev

Socket.io客户端到客户端逻辑,有很多用户

来自分类Dev

Android Socket客户端无法发送和接收消息

来自分类Dev

socket.io客户端重新连接超时

来自分类Dev

socket.io客户端连接断开

来自分类Dev

Socket.io:随时获取客户端sessionID

来自分类Dev

socket.io官方客户端连接问题?

来自分类Dev

Socket.io如何检查客户端的cookie数据?

来自分类Dev

node.js / socket.io-跟踪客户端

来自分类Dev

适用于Android的Socket.io客户端

来自分类Dev

Socket.io通过ID断开客户端连接

来自分类Dev

socket.io确保客户端重新连接状态

来自分类Dev

OpenWhisk-socket.io-客户端可能吗?

来自分类Dev

在客户端找不到Socket.io

来自分类Dev

客户端Socket.io覆盖或hendle断开事件

来自分类Dev

无法在客户端获取socket.io

来自分类Dev

If / Else语句Socket.io客户端

来自分类Dev

Angular-socket-io:如何断开客户端

来自分类Dev

Socket.io通过ID断开客户端连接

来自分类Dev

未定义Socket.io ReferenceError客户端

来自分类Dev

在Android上使用socket.io客户端库

来自分类Dev

Google Glass上的Socket.io客户端

来自分类Dev

如何使socket.io客户端不重新连接?

来自分类Dev

socket.io确保客户端重新连接状态