I'm using Socket.io, and I'd like to know the status of connection to the server from the client-side.
Something like this:
socket.status // return true if connected, false otherwise
I need this information to give a visual feedback to the user if the connection has dropped or it has disconnected for any reason.
You can check the
socket.connected
property:It's updated dynamically, if the connection is lost it'll be set to
false
until the client picks up the connection again. So easy to check for withsetInterval
or something like that.Another solution would be to catch
disconnect
events and track the status yourself.@robertklep's answer to check socket.connected is correct except for reconnect event, https://socket.io/docs/client-api/#event-reconnect As the document said it is "Fired upon a successful reconnection." but when you check
socket.connected
then it is false.Not sure it is a bug or intentional.
You can check whether the connection was lost or not by using this function:-
Hope it will help you.
These days, socket.on('connect', ...) is not working for me. I use below code to check at 1st connecting.
and use this code when reconnected.
Track the state of the connection yourself. With a boolean. Set it to
false
at declaration. Use the various events (connect, disconnect, reconnect, etc.) to reassign the current boolean value. Note: Using undocumented API features (e.g.,socket.connected
), is not a good idea; the feature could get removed in a subsequent version without the removal being mentioned.