【发布时间】:2016-03-31 07:08:58
【问题描述】:
有没有办法知道socket io发出失败和成功,比如ajax回调方法:onSuccess,onError? 对于套接字 io 发射,我只找到:
socket.emit('publish', {message:'test message'},function (data) { 警报(“”)})
这个回调只有在服务端发送ack响应的时候才会被调用,但是不能应用于这种情况:
在向服务器发送消息的时候,网络不好或者连接断开,说明服务器没有收到这个消息,所以不调用客户端回调函数。
我想要的是:
当我调用socket io emit时,如果失败,我想重试3次。
【问题讨论】:
-
如果您想模仿 HTTP 行为,您必须自己编写该机制,因为它不是 websocket 工作的一部分。但是使用
setTimeout和一些标志可以很容易地完成。 -
你试过使用'error'事件回调吗?