繁体   English   中英

socket.io客户端-如果没有连接或服务器关闭,则发射回调不会触发

[英]socket.io client - emit callback does not fire if no connection or server is down

我正在尝试添加一些验证客户端,以确保将消息正确发送到服务器。

如果服务器出现故障,则不会触发回调函数,并且我无法告知客户端消息是否正确传递。 如果我的客户(移动客户)失去了信号,也会发生同样的事情。

如何处理客户端中的连接错误?

谢谢你的帮助。

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 });
    }
}); 

您是否尝试过使用socket.on('disconnect',...)回调? 根据socket.io文档,这是检测客户端已断开连接的方法。 由于socket.io使用Web套接字,并且Web套接字建立活动连接,因此,一旦连接丢失,套接字将立即断开连接并触发此回调。

我已经在我的项目中使用了它,并且它可以工作。 我从未尝试过在客户端使用它,但是可能它也可以使用。

为此目的有几个事件。 您可以绑定“错误”-如果发生某些错误,则会触发此事件。 您可以在“断开连接”上进行绑定-您可以检测到与服务器的断开连接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM