我正在尝试在客户端添加一些验证,以确保邮件已正确发送到服务器。
如果服务器出现故障,则回拨函数不会触发,我无法告诉我的客户端邮件是否正确传递。如果我的客户端(移动客户端)丢失信号,也会发生同样的事情。
如何在客户端处理连接错误?
感谢您的帮助。
socket.emit('send', JSON.stringify(msg), function (res) {
if(res) {
$messages.unshift(msg);
}
else {
$scope.$emit('triggerError', { message: 'Unable to send your message.', temp: true });
}
});
答案 0 :(得分:1)
您是否尝试过使用socket.on('disconnect',...)回调?根据{{3}}文档,这是检测客户端已断开连接的方法。由于socket.io使用Web套接字,并且Web套接字建立了活动连接,因此每当连接丢失时,套接字立即断开连接并触发此回调。
我在我的项目中使用它并且它有效。我从来没有尝试过在客户端使用它,但它可能也有效。
答案 1 :(得分:0)
为此目的有几个事件。 您可以绑定'错误' - 如果发生某些错误,您将触发此事件。 您可以在'disconnect'上绑定 - 您可以检测到与服务器的断开连接。