获取Socket.io客户端的连接状态

我正在使用Socket.io,我想知道从客户端连接到服务器的状态。

像这样的东西:

socket.status // return true if connected, false otherwise 

如果连接断开或者由于某种原因断开连接,我需要这些信息给用户一个视觉反馈。

你可以检查socket.connected属性:

 var socket = io.connect(); console.log('check 1', socket.connected); socket.on('connect', function() { console.log('check 2', socket.connected); }); 

它是dynamic更新的,如果连接丢失,它将被设置为false直到客户端再次获取连接。 所以很容易检查与setInterval或类似的东西。

另一个解决scheme是捕捉disconnect事件并自己跟踪状态。

你可以使用这个function检查连接是否已经丢失或不再使用: –

 var socket = io( /**connection**/ ); socket.on('disconnect', function(){ //Your Code Here }); 

希望它会帮助你。